code: def fetchmany(self, size=None):
          
          self._check_executed()
          fut = self._loop.create_future()
          if self._rows is None:
              fut.set_result([])
              return fut
          end = self._rownumber + (size or self._arraysize)
          result = self._rows[self._rownumber:end]
          self._rownumber = min(end, len(self._rows))
  
          fut.set_result(result)
          return fut
docs: Returns the next set of rows of a query result, returning a
          list of tuples. When no more rows are available, it returns an
          empty list.
  
          The number of rows returned can be specified using the size argument,
          which defaults to one
  
          :param size: ``int`` number of rows to return
          :returns: ``list`` of fetched rows