[docs]asyncdefwrapped_response_future(func:Callable[...,ResponseFuture],*args:Any,**kwargs:Any)->Any:"""Wrap a Cassandra response future in an asyncio future. Args: func: The Cassandra function to call. *args: The arguments to pass to the Cassandra function. **kwargs: The keyword arguments to pass to the Cassandra function. Returns: The result of the Cassandra function. """loop=asyncio.get_event_loop()asyncio_future=loop.create_future()response_future=func(*args,**kwargs)defsuccess_handler(_:Any)->None:loop.call_soon_threadsafe(asyncio_future.set_result,response_future.result())deferror_handler(exc:BaseException)->None:loop.call_soon_threadsafe(asyncio_future.set_exception,exc)response_future.add_callbacks(success_handler,error_handler)returnawaitasyncio_future
[docs]asyncdefaexecute_cql(session:Session,query:str,**kwargs:Any)->Any:"""Execute a CQL query asynchronously. Args: session: The Cassandra session to use. query: The CQL query to execute. kwargs: Additional keyword arguments to pass to the session execute method. Returns: The result of the query. """returnawaitwrapped_response_future(session.execute_async,query,**kwargs)