summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2017-12-06 16:22:31 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2017-12-06 16:23:44 -0500
commit1cbaff643f8d524fc0f7b347f659d18a67884f16 (patch)
treeb3110534200aaea11e16e3e230783f1e76116ada /lib/sqlalchemy
parent76b5981b41618048c4c593bbd9062c34ddc1fa36 (diff)
downloadsqlalchemy-1cbaff643f8d524fc0f7b347f659d18a67884f16.tar.gz
Disable eager loads for exists()
The :meth:`.Query.exists` method will now disable eager loaders for when the query is rendered. Previously, joined-eager load joins would be rendered unnecessarily as well as subquery eager load queries would be needlessly generated. The new behavior matches that of the :meth:`.Query.subquery` method. Fixes: #4032 Change-Id: Iacafc76aa9ae0b71928037fa9637e85ad434ee3a
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/query.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index b3bb5302f..209bb6d6a 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -3066,7 +3066,8 @@ class Query(object):
# omitting the FROM clause from a query(X) (#2818);
# .with_only_columns() after we have a core select() so that
# we get just "SELECT 1" without any entities.
- return sql.exists(self.add_columns('1').with_labels().
+ return sql.exists(self.enable_eagerloads(False).add_columns('1').
+ with_labels().
statement.with_only_columns([1]))
def count(self):