summaryrefslogtreecommitdiff
path: root/django/db/models/sql
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-14 15:07:08 +0200
committerCarlton Gibson <carlton.gibson@noumenal.es>2020-05-14 15:11:18 +0200
commit92acf1022fb13a7a8b1ff7cdfe72c21050c1e4e7 (patch)
tree195de65659a75b42748fe3a580357b3be3a5fd7a /django/db/models/sql
parent49bbf6570d9f0880b836f741d79e4cdb6e061ea2 (diff)
[3.0.x] Fixed #31584 -- Fixed crash when chaining values()/values_list() after Exists() annotation and aggregation on Oracle.
Oracle requires the EXISTS expression to be wrapped in a CASE WHEN in the GROUP BY clause. Regression in efa1908f662c19038a944129c81462485c4a9fe8. Backport of 3a941230c85b2702a5e1cd97e17251ce21057efa from master
Diffstat (limited to 'django/db/models/sql')
-rw-r--r--django/db/models/sql/compiler.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py
index 18365f1d75..ccec6fdc38 100644
--- a/django/db/models/sql/compiler.py
+++ b/django/db/models/sql/compiler.py
@@ -135,6 +135,7 @@ class SQLCompiler:
for expr in expressions:
sql, params = self.compile(expr)
+ sql, params = expr.select_format(self, sql, params)
params_hash = make_hashable(params)
if (sql, params_hash) not in seen:
result.append((sql, params))