Refs #29928 -- Added supports_pragma_foreign_key_check SQLite feature flag.

This commit is contained in:
Simon Charette 2018-12-21 18:26:30 -05:00 committed by Tim Graham
parent f3eb1cfb58
commit 6b9bd0933e
2 changed files with 3 additions and 2 deletions

View File

@ -267,7 +267,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
determine if rows with invalid references were entered while constraint
checks were off.
"""
if Database.sqlite_version_info >= (3, 20, 0):
if self.features.supports_pragma_foreign_key_check:
with self.cursor() as cursor:
if table_names is None:
violations = self.cursor().execute('PRAGMA foreign_key_check').fetchall()

View File

@ -40,7 +40,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_parentheses_in_compound = False
# Deferred constraint checks can be emulated on SQLite < 3.20 but not in a
# reasonably performant way.
can_defer_constraint_checks = 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
@cached_property
def supports_stddev(self):