Conflicts:
doc/build/changelog/changelog_09.rst
.. changelog::
:version: 0.8.3
+ .. change::
+ :tags: bug, orm
+ :tickets: 2818
+
+ Fixed bug where :meth:`.Query.exists` failed to work correctly
+ without any WHERE criterion. Courtesy Vladimir Magamedov.
+
.. change::
:tags: bug, sql
:tickets: 2811
.. versionadded:: 0.8.1
"""
- return sql.exists(self.with_entities('1').statement)
+ return sql.exists(self.statement.with_only_columns(['1']))
def count(self):
"""Return a count of rows this Query would return.
def test_exists(self):
User = self.classes.User
sess = create_session()
- q1 = sess.query(User).filter(User.name == 'fred')
+
+ q1 = sess.query(User)
self.assert_compile(sess.query(q1.exists()),
+ 'SELECT EXISTS ('
+ 'SELECT 1 FROM users'
+ ') AS anon_1',
+ dialect=default.DefaultDialect()
+ )
+
+ q2 = sess.query(User).filter(User.name == 'fred')
+ self.assert_compile(sess.query(q2.exists()),
'SELECT EXISTS ('
'SELECT 1 FROM users WHERE users.name = :name_1'
') AS anon_1',