summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2019-01-15 21:39:05 -0600
committerTim Graham <timograham@gmail.com>2019-02-09 08:47:40 -0500
commitebd2fe186186800af343f0041a0904381b4dfc44 (patch)
treea44d72b318797fda2f6c00695c2e7297aa244dae
parenteefc9550fd3b8011cc12069eb700df09f25cc4d9 (diff)
Refs #30027 -- Enabled window function tests on SQLite 3.25+.
-rw-r--r--django/db/backends/sqlite3/features.py1
-rw-r--r--tests/expressions_window/tests.py5
2 files changed, 6 insertions, 0 deletions
diff --git a/django/db/backends/sqlite3/features.py b/django/db/backends/sqlite3/features.py
index 363329edfd..3d52a8036f 100644
--- a/django/db/backends/sqlite3/features.py
+++ b/django/db/backends/sqlite3/features.py
@@ -40,3 +40,4 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_pragma_foreign_key_check = Database.sqlite_version_info >= (3, 20, 0)
can_defer_constraint_checks = supports_pragma_foreign_key_check
supports_functions_in_partial_indexes = Database.sqlite_version_info >= (3, 15, 0)
+ supports_over_clause = Database.sqlite_version_info >= (3, 25, 0)
diff --git a/tests/expressions_window/tests.py b/tests/expressions_window/tests.py
index 21aa2ecbf9..fa9bb2916b 100644
--- a/tests/expressions_window/tests.py
+++ b/tests/expressions_window/tests.py
@@ -537,6 +537,7 @@ class WindowFunctionTests(TestCase):
], transform=lambda row: (row.name, row.salary, row.department, row.hire_date, row.sum))
@skipIf(connection.vendor == 'postgresql', 'n following/preceding not supported by PostgreSQL')
+ @skipIf(connection.vendor == 'sqlite', 'n following/preceding not supported by SQLite')
def test_range_n_preceding_and_following(self):
qs = Employee.objects.annotate(sum=Window(
expression=Sum('salary'),
@@ -584,6 +585,10 @@ class WindowFunctionTests(TestCase):
('Brown', 'Sales', 53000, datetime.date(2009, 9, 1), 148000)
], transform=lambda row: (row.name, row.department, row.salary, row.hire_date, row.sum))
+ @skipIf(
+ connection.vendor == 'sqlite' and connection.Database.sqlite_version_info < (3, 27),
+ 'Nondeterministic failure on SQLite < 3.27.'
+ )
def test_subquery_row_range_rank(self):
qs = Employee.objects.annotate(
highest_avg_salary_date=Subquery(