code: def fetchmany(self, size=None):
          
          if size is None:
              size = self.arraysize
  
          self._try_fetch(size=size)
          rows = []
  
          for row in self._query_data:
              rows.append(row)
              if len(rows) >= size:
                  break
  
          return rows
docs: Fetch multiple results from the last ``execute*()`` call.
  
          .. note::
              The size parameter is not used for the request/response size.
              Set the ``arraysize`` attribute before calling ``execute()`` to
              set the batch size.
  
          :type size: int
          :param size:
              (Optional) Maximum number of rows to return. Defaults to the
              ``arraysize`` property value.
  
          :rtype: List[tuple]
          :returns: A list of rows.
          :raises: :class:`~google.cloud.bigquery.dbapi.InterfaceError`
              if called before ``execute()``.