From 16d3dad4490fc4915096b7963f21e6b591b15ba7 Mon Sep 17 00:00:00 2001 From: Federico Caselli Date: Fri, 24 Feb 2023 21:32:46 +0100 Subject: [PATCH] update case statement to v2 syntax Change-Id: If278ea170e0a17b1e8ace2d470fb2fbdb7a6e9c1 References: #9370 References: #9365 --- doc/build/orm/mapped_sql_expr.rst | 4 +--- examples/nested_sets/nested_sets.py | 20 ++++++++------------ examples/vertical/dictlike-polymorphic.py | 2 +- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/doc/build/orm/mapped_sql_expr.rst b/doc/build/orm/mapped_sql_expr.rst index 4751148133..357949c8fe 100644 --- a/doc/build/orm/mapped_sql_expr.rst +++ b/doc/build/orm/mapped_sql_expr.rst @@ -71,9 +71,7 @@ needs to be present inside the hybrid, using the ``if`` statement in Python and @fullname.expression def fullname(cls): return case( - [ - (cls.firstname != None, cls.firstname + " " + cls.lastname), - ], + (cls.firstname != None, cls.firstname + " " + cls.lastname), else_=cls.lastname, ) diff --git a/examples/nested_sets/nested_sets.py b/examples/nested_sets/nested_sets.py index 0450551f38..2412eaf9ec 100644 --- a/examples/nested_sets/nested_sets.py +++ b/examples/nested_sets/nested_sets.py @@ -54,21 +54,17 @@ def before_insert(mapper, connection, instance): connection.execute( personnel.update(personnel.c.rgt >= right_most_sibling).values( lft=case( - [ - ( - personnel.c.lft > right_most_sibling, - personnel.c.lft + 2, - ) - ], + ( + personnel.c.lft > right_most_sibling, + personnel.c.lft + 2, + ), else_=personnel.c.lft, ), rgt=case( - [ - ( - personnel.c.rgt >= right_most_sibling, - personnel.c.rgt + 2, - ) - ], + ( + personnel.c.rgt >= right_most_sibling, + personnel.c.rgt + 2, + ), else_=personnel.c.rgt, ), ) diff --git a/examples/vertical/dictlike-polymorphic.py b/examples/vertical/dictlike-polymorphic.py index 0343d53e12..afd23c4e1c 100644 --- a/examples/vertical/dictlike-polymorphic.py +++ b/examples/vertical/dictlike-polymorphic.py @@ -83,7 +83,7 @@ class PolymorphicVerticalProperty: for attribute, discriminator in pairs if attribute is not None ] - return case(whens, value=self.cls.type, else_=null()) + return case(*whens, value=self.cls.type, else_=null()) def __eq__(self, other): return self._case() == cast(other, String) -- 2.47.2