summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-01-17 14:31:10 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2020-01-17 16:29:27 -0500
commitbdbe164d392d41991b64ced0f097930a04a2c420 (patch)
treefbaf0da3f3e68b211821220843c9b3ab944c38df /lib/sqlalchemy/sql
parenta711522650863dd368acfa90e09216ae37fc3ec2 (diff)
downloadsqlalchemy-bdbe164d392d41991b64ced0f097930a04a2c420.tar.gz
apply asbool reduction to the onclause in join()
The :func:`.true` and :func:`.false` operators may now be applied as the "onclause" of a :func:`.sql.join` on a backend that does not support "native boolean" expressions, e.g. Oracle or SQL Server, and the expression will render as "1=1" for true and "1=0" false. This is the behavior that was introduced many years ago in :ticket:`2804` for and/or expressions. Change-Id: I85311c31c22d6e226c618f8840f6b95eca611153
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r--lib/sqlalchemy/sql/selectable.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py
index 136c9f868..db743f408 100644
--- a/lib/sqlalchemy/sql/selectable.py
+++ b/lib/sqlalchemy/sql/selectable.py
@@ -698,7 +698,7 @@ class Join(FromClause):
if onclause is None:
self.onclause = self._match_primaries(self.left, self.right)
else:
- self.onclause = onclause
+ self.onclause = onclause.self_group(against=operators._asbool)
self.isouter = isouter
self.full = full