async def METHOD_NAME(self) -> AsyncIterator[Record]:
    # Execute the query to get all records
    await self.conn.execute(self.parent.config.METHOD_NAME)
    # Grab records batch by batch until none are left
    result = [True]
    while result:
        # Grab another batch
        result = await self.conn.fetchmany()
        if not result:
            continue
        # Convert row objects to Record objects
        for row in result:
            yield self.row_to_record(row)