@@ -2246,25 +2246,26 @@ def test_delete_rows_is_atomic(conn_name, request):
2246
2246
replacing_df = DataFrame ({"a" : [5 , 6 , 7 ], "b" : [8 , 8 , 8 ]}, dtype = "int32" )
2247
2247
2248
2248
conn = request .getfixturevalue (conn_name )
2249
- pandasSQL = pandasSQL_builder (conn )
2249
+ with pandasSQL_builder (conn ) as pandasSQL :
2250
+ with pandasSQL .run_transaction () as cur :
2251
+ cur .execute (table_stmt )
2250
2252
2251
- with pandasSQL .run_transaction () as cur :
2252
- cur . execute ( table_stmt )
2253
+ with pandasSQL .run_transaction ():
2254
+ pandasSQL . to_sql ( original_df , table_name , if_exists = "append" , index = False )
2253
2255
2254
- with pandasSQL .run_transaction ():
2255
- pandasSQL .to_sql (original_df , table_name , if_exists = "append" , index = False )
2256
+ # inserting duplicated values in a UNIQUE constraint column
2257
+ with pytest .raises (pd .errors .DatabaseError ):
2258
+ with pandasSQL .run_transaction ():
2259
+ pandasSQL .to_sql (
2260
+ replacing_df , table_name , if_exists = "delete_rows" , index = False
2261
+ )
2256
2262
2257
- # inserting duplicated values in a UNIQUE constraint column
2258
- with pytest .raises (pd .errors .DatabaseError ):
2263
+ # failed "delete_rows" is rolled back preserving original data
2259
2264
with pandasSQL .run_transaction ():
2260
- pandasSQL .to_sql (
2261
- replacing_df , table_name , if_exists = "delete_rows" , index = False
2265
+ result_df = pandasSQL .read_query (
2266
+ f"SELECT * FROM { table_name } " , dtype = "int32"
2262
2267
)
2263
-
2264
- # failed "delete_rows" is rolled back preserving original data
2265
- with pandasSQL .run_transaction ():
2266
- result_df = pandasSQL .read_query (f"SELECT * FROM { table_name } " , dtype = "int32" )
2267
- tm .assert_frame_equal (result_df , original_df )
2268
+ tm .assert_frame_equal (result_df , original_df )
2268
2269
2269
2270
2270
2271
@pytest .mark .parametrize ("conn" , all_connectable )
0 commit comments