summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3/operations.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2020-01-02 11:33:01 -0500
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-01-03 10:35:08 +0100
commit9bcbcd599abac91ea853b2fe10b784ba32df043e (patch)
treeaede04abf962e71b9e93c6628176aad75f895fa8 /django/db/backends/sqlite3/operations.py
parent372eaa395f167c038e546c6be554c96014d40109 (diff)
downloaddjango-9bcbcd599abac91ea853b2fe10b784ba32df043e.tar.gz
Fixed #31133 -- Fixed crash when subtracting against a subquery annotation.
The subtract_temporals() database operation was not handling expressions returning SQL params in mixed database types. Regression in 35431298226165986ad07e91f9d3aca721ff38ec. Thanks Reupen Shah for the report.
Diffstat (limited to 'django/db/backends/sqlite3/operations.py')
-rw-r--r--django/db/backends/sqlite3/operations.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py
index ce8fe7209f..951aca0938 100644
--- a/django/db/backends/sqlite3/operations.py
+++ b/django/db/backends/sqlite3/operations.py
@@ -326,9 +326,10 @@ class DatabaseOperations(BaseDatabaseOperations):
def subtract_temporals(self, internal_type, lhs, rhs):
lhs_sql, lhs_params = lhs
rhs_sql, rhs_params = rhs
+ params = (*lhs_params, *rhs_params)
if internal_type == 'TimeField':
- return "django_time_diff(%s, %s)" % (lhs_sql, rhs_sql), lhs_params + rhs_params
- return "django_timestamp_diff(%s, %s)" % (lhs_sql, rhs_sql), lhs_params + rhs_params
+ return 'django_time_diff(%s, %s)' % (lhs_sql, rhs_sql), params
+ return 'django_timestamp_diff(%s, %s)' % (lhs_sql, rhs_sql), params
def insert_statement(self, ignore_conflicts=False):
return 'INSERT OR IGNORE INTO' if ignore_conflicts else super().insert_statement(ignore_conflicts)