async def query(pool: aiopg.Pool, query: str, query_tuple: tuple = tuple()) -> None: """ Run a query without getting the result :param pool: :param query: :param query_tuple: :return: """ connection = await pool.acquire() try: cursor = await connection.cursor() await cursor.execute(query, query_tuple) finally: pool.release(connection)
async def query_with_result( pool: aiopg.Pool, query: str, query_tuple: tuple = tuple()) -> AsyncIterable[Union[Tuple, None]]: """ Run a query and get the result piece-by-piece through an asynchronous generator :param pool: :param query: :param query_tuple: :return: """ connection = await pool.acquire() try: cursor = await connection.cursor() await cursor.execute(query, query_tuple) record = await cursor.fetchone() while record is not None: yield record record = await cursor.fetchone() finally: pool.release(connection)