code: async def scroll(self, value, mode='relative'):
          
  
          self._check_executed()
  
          if mode == 'relative':
              if value < 0:
                  raise NotSupportedError("Backwards scrolling not supported "
                                          "by this cursor")
  
              for _ in range(value):
                  await self._read_next()
              self._rownumber += value
          elif mode == 'absolute':
              if value < self._rownumber:
                  raise NotSupportedError(
                      "Backwards scrolling not supported by this cursor")
  
              end = value - self._rownumber
              for _ in range(end):
                  await self._read_next()
              self._rownumber = value
          else:
              raise ProgrammingError("unknown scroll mode %s" % mode)
docs: Scroll the cursor in the result set to a new position
          according to mode . Same as :meth:`Cursor.scroll`, but move cursor
          on server side one by one row. If you want to move 20 rows forward
          scroll will make 20 queries to move cursor. Currently only forward
          scrolling is supported.
  
          :param int value: move cursor to next position according to mode.
          :param str mode: scroll mode, possible modes: `relative` and `absolute`