code: def fetchmany(self, size):
          
          fut = self._run_operation(self._impl.fetchmany, size)
          return fut
docs: Returns a list of remaining rows, containing no more than size
          rows, used to process results in chunks. The list will be empty when
          there are no more rows.
  
          The default for cursor.arraysize is 1 which is no different than
          calling fetchone().
  
          A ProgrammingError exception is raised if no SQL has been executed
          or if it did not return a result set (e.g. was not a SELECT
          statement).
  
          :param size: int, max number of rows to return