summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2022-10-13 08:47:37 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2022-10-13 08:47:37 -0400
commit08880fc5bb6467bce684dfbe7995b3f3b32aee57 (patch)
tree88351dd16823c3c9c0aa94a838d09043cca38c9a
parentbc3541f79d2e26cd51e3cb78eaabbd1136c8a30a (diff)
downloadsqlalchemy-08880fc5bb6467bce684dfbe7995b3f3b32aee57.tar.gz
rework test query to work on MSSQL
Change-Id: I14ea04085703736daf78fe0cf307925c192c5e0e
-rw-r--r--test/orm/test_dynamic.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py
index 505594e7c..0af61949c 100644
--- a/test/orm/test_dynamic.py
+++ b/test/orm/test_dynamic.py
@@ -1465,9 +1465,16 @@ class DynamicUOWTest(
sess.add(u)
sess.commit()
+ from sqlalchemy import case
+
+ # the byzantine syntax here is so the query works on MSSQL
isnull_stmt = select(
- addresses.c.user_id == None, func.count("*")
- ).group_by(addresses.c.user_id == None)
+ case((addresses.c.user_id == None, True), else_=False),
+ func.count("*"),
+ ).group_by(
+ case((addresses.c.user_id == None, True), else_=False),
+ addresses.c.user_id,
+ )
eq_(
{isnull: count for isnull, count in sess.execute(isnull_stmt)},