code: async def first(self):
          
          if self._metadata is None:
              self._non_result()
          try:
              return (await self.fetchone())
          finally:
              await self.close()
docs: Fetch the first row and then close the result set unconditionally.
  
          Returns None if no row is present.