diff options
author | Simon Charette <charette.s@gmail.com> | 2020-01-02 11:33:01 -0500 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-01-03 10:35:08 +0100 |
commit | 9bcbcd599abac91ea853b2fe10b784ba32df043e (patch) | |
tree | aede04abf962e71b9e93c6628176aad75f895fa8 /django/db/backends/sqlite3/operations.py | |
parent | 372eaa395f167c038e546c6be554c96014d40109 (diff) | |
download | django-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.py | 5 |
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) |