summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-07-21 11:18:01 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2021-07-21 13:57:22 -0400
commita34a4af8a80f4edd12b022753b69065025818e20 (patch)
tree379a4060304439f46a6515b9b8c6cd74553c477e /test/sql
parente7119aea7870f0322e78d3a2cb28337b1640f0c2 (diff)
downloadsqlalchemy-a34a4af8a80f4edd12b022753b69065025818e20.tar.gz
implement cache key for return_defaults token
Fixed critical caching issue where the ORM's persistence feature using INSERT..RETURNING would cache an incorrect query when mixing the "bulk save" and standard "flush" forms of INSERT. Fixes: #6793 Change-Id: Ifeb61c1226d3fa6d5e1c2e29b6f5ff77a27d6a2d
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_compare.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/sql/test_compare.py b/test/sql/test_compare.py
index 188d9337e..371e68a8a 100644
--- a/test/sql/test_compare.py
+++ b/test/sql/test_compare.py
@@ -534,6 +534,9 @@ class CoreFixtures(object):
),
lambda: (
table_a.insert(),
+ table_a.insert().return_defaults(),
+ table_a.insert().return_defaults(table_a.c.a),
+ table_a.insert().return_defaults(table_a.c.b),
table_a.insert().values({})._annotate({"nocache": True}),
table_b.insert(),
table_b.insert().with_dialect_options(sqlite_foo="some value"),
@@ -570,6 +573,9 @@ class CoreFixtures(object):
),
lambda: (
table_b.update(),
+ table_b.update().return_defaults(),
+ table_b.update().return_defaults(table_b.c.a),
+ table_b.update().return_defaults(table_b.c.b),
table_b.update().where(table_b.c.a == 5),
table_b.update().where(table_b.c.b == 5),
table_b.update()