Skip to content

Commit 28b7f93

Browse files
committed
Try context manager in test_delete_rows_is_atomic
1 parent 0808387 commit 28b7f93

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

pandas/tests/io/test_sql.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2246,25 +2246,26 @@ def test_delete_rows_is_atomic(conn_name, request):
22462246
replacing_df = DataFrame({"a": [5, 6, 7], "b": [8, 8, 8]}, dtype="int32")
22472247

22482248
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)
22502252

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)
22532255

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+
)
22562262

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
22592264
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"
22622267
)
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)
22682269

22692270

22702271
@pytest.mark.parametrize("conn", all_connectable)

0 commit comments

Comments
 (0)