]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Provide example for exists
authorFederico Caselli <cfederico87@gmail.com>
Sat, 27 Jun 2020 19:46:28 +0000 (21:46 +0200)
committerFederico Caselli <cfederico87@gmail.com>
Mon, 29 Jun 2020 17:41:25 +0000 (17:41 +0000)
Fixes: #5423
Change-Id: I716f8de17c49d7eefbbce5ddd9da203bfc9fe47f
(cherry picked from commit 90a97ad9b63d5aa80439a20e7a9db450026d58de)

lib/sqlalchemy/sql/selectable.py

index 56962271b6bf40aef0571ea0573d9b7cdba2a206..1e73d64552b9e1c990c1e62f7d4e74737ac84728 100644 (file)
@@ -4048,7 +4048,15 @@ class Exists(UnaryExpression):
 
             # use on an existing select()
             s = select([table.c.col1]).where(table.c.col2==5)
-            s = exists(s)
+            s_e = exists(s)
+
+            # an exists is usually used in a where of another select
+            # to produce a WHERE EXISTS (SELECT ... )
+            select([table.c.col1]).where(s_e)
+
+            # but can also be used in a select to produce a
+            # SELECT EXISTS (SELECT ... ) query
+            select([s_e])
 
             # construct a select() at once
             exists(['*'], **select_arguments).where(criterion)