<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def fetchrow(self, *, timeout=None):
 r"""Return the next row. :param float timeout: Optional timeout value in seconds. :return: A :class:`Record` instance. """

        self._check_ready()
        if self._exhausted:
            return None
        recs = await self._exec(1, timeout)
        if len(recs) < 1:
            self._exhausted = True
            return None
        return recs[0]