Merge pull request #4147 from jcassette/query-perf

Use short-circuit evaluation in AndQuery and OrQuery (fix #4145)
This commit is contained in:
Adrian Sampson 2021-11-17 07:59:43 -05:00 committed by GitHub
commit 281eec8a48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View file

@ -443,7 +443,7 @@ class AndQuery(MutableCollectionQuery):
return self.clause_with_joiner('and')
def match(self, item):
return all([q.match(item) for q in self.subqueries])
return all(q.match(item) for q in self.subqueries)
class OrQuery(MutableCollectionQuery):
@ -453,7 +453,7 @@ class OrQuery(MutableCollectionQuery):
return self.clause_with_joiner('or')
def match(self, item):
return any([q.match(item) for q in self.subqueries])
return any(q.match(item) for q in self.subqueries)
class NotQuery(Query):

View file

@ -74,6 +74,9 @@ Bug fixes:
* :doc:`/dev/library`: Use slow queries for flexible attributes in aunique.
:bug:`2678` :bug:`3553`
* :doc:`/reference/query`: Use short-circuit evaluation in AndQuery and OrQuery
:bug:`4145`
1.5.0 (August 19, 2021)
-----------------------