code: def fetchmany(self, size=None):
          
          if size is None:
              size = self.arraysize
          if (size <= 0):
              raise InterfaceError("Invalid arraysize {} for fetchmany()".format(size))
  
          return [row for row in islice(self, size)]
docs: Fetches a batch of rows in the active result set generated with ``execute()`` or
          ``executemany()``.
  
          :param size: Controls how many rows are returned. The default ``None`` means that
                 the value of Cursor.arraysize is used.
          :return: A list of rows