Refs #30027 -- Enabled window function tests on SQLite 3.25+.

This commit is contained in:
Simon Charette 2019-01-15 21:39:05 -06:00 committed by Tim Graham
parent eefc9550fd
commit ebd2fe1861
2 changed files with 6 additions and 0 deletions

View File

@ -40,3 +40,4 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_pragma_foreign_key_check = Database.sqlite_version_info >= (3, 20, 0) supports_pragma_foreign_key_check = Database.sqlite_version_info >= (3, 20, 0)
can_defer_constraint_checks = supports_pragma_foreign_key_check can_defer_constraint_checks = supports_pragma_foreign_key_check
supports_functions_in_partial_indexes = Database.sqlite_version_info >= (3, 15, 0) supports_functions_in_partial_indexes = Database.sqlite_version_info >= (3, 15, 0)
supports_over_clause = Database.sqlite_version_info >= (3, 25, 0)

View File

@ -537,6 +537,7 @@ class WindowFunctionTests(TestCase):
], transform=lambda row: (row.name, row.salary, row.department, row.hire_date, row.sum)) ], 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 == '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): def test_range_n_preceding_and_following(self):
qs = Employee.objects.annotate(sum=Window( qs = Employee.objects.annotate(sum=Window(
expression=Sum('salary'), expression=Sum('salary'),
@ -584,6 +585,10 @@ class WindowFunctionTests(TestCase):
('Brown', 'Sales', 53000, datetime.date(2009, 9, 1), 148000) ('Brown', 'Sales', 53000, datetime.date(2009, 9, 1), 148000)
], transform=lambda row: (row.name, row.department, row.salary, row.hire_date, row.sum)) ], 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): def test_subquery_row_range_rank(self):
qs = Employee.objects.annotate( qs = Employee.objects.annotate(
highest_avg_salary_date=Subquery( highest_avg_salary_date=Subquery(