@@ -255,54 +255,3 @@ async def insert_and_read(i):
255255 # With single node, both should succeed equally
256256 assert one_success == 100
257257 assert all_success == 100
258-
259- @pytest .mark .asyncio
260- async def test_prepared_statement_concurrency (self , cassandra_session : AsyncCassandraSession ):
261- """Test that prepared statements work correctly through the async wrapper."""
262- # Create a table for testing prepared statements
263- await cassandra_session .execute ("DROP TABLE IF EXISTS prepared_test" )
264- await cassandra_session .execute (
265- """
266- CREATE TABLE prepared_test (
267- id INT PRIMARY KEY,
268- name TEXT,
269- value INT
270- )
271- """
272- )
273-
274- # Prepare statements
275- insert_stmt = await cassandra_session .prepare (
276- "INSERT INTO prepared_test (id, name, value) VALUES (?, ?, ?)"
277- )
278- select_stmt = await cassandra_session .prepare ("SELECT * FROM prepared_test WHERE id = ?" )
279-
280- # Test concurrent usage of prepared statements
281- async def insert_and_select (test_id ):
282- # Insert using prepared statement
283- await cassandra_session .execute (insert_stmt , [test_id , f"test_{ test_id } " , test_id * 10 ])
284-
285- # Select using prepared statement
286- result = await cassandra_session .execute (select_stmt , [test_id ])
287- row = result .one ()
288- return row
289-
290- # Run a modest number of concurrent operations to verify functionality
291- tasks = [insert_and_select (i ) for i in range (10 )]
292- results = await asyncio .gather (* tasks )
293-
294- # Verify results
295- for i , row in enumerate (results ):
296- assert row .id == i
297- assert row .name == f"test_{ i } "
298- assert row .value == i * 10
299-
300- # Verify we can reuse prepared statements
301- await cassandra_session .execute (insert_stmt , [100 , "reused" , 1000 ])
302- result = await cassandra_session .execute (select_stmt , [100 ])
303- row = result .one ()
304- assert row .id == 100
305- assert row .name == "reused"
306- assert row .value == 1000
307-
308- print ("\n Prepared statements work correctly through async wrapper" )
0 commit comments