From: Mike Bayer Date: Thu, 13 Oct 2022 12:47:37 +0000 (-0400) Subject: rework test query to work on MSSQL X-Git-Tag: rel_2_0_0b1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08880fc5bb6467bce684dfbe7995b3f3b32aee57;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git rework test query to work on MSSQL Change-Id: I14ea04085703736daf78fe0cf307925c192c5e0e --- 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)},