code: async def fetchone(self):
          
          try:
              row = await self._cursor.fetchone()
          except AttributeError:
              self._non_result()
          else:
              if row is not None:
                  return self._process_rows([row])[0]
              else:
                  await self.close()
                  return None
docs: Fetch one row, just like DB-API cursor.fetchone().
  
          If a row is present, the cursor remains open after this is called.
          Else the cursor is automatically closed and None is returned.