From 08880fc5bb6467bce684dfbe7995b3f3b32aee57 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 13 Oct 2022 08:47:37 -0400 Subject: [PATCH] rework test query to work on MSSQL Change-Id: I14ea04085703736daf78fe0cf307925c192c5e0e --- test/orm/test_dynamic.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py index 505594e7c6..0af61949cd 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)}, -- 2.47.2