From 6e9189c0807a8b4818e77c2d83618a788b2ba906 Mon Sep 17 00:00:00 2001 From: Nick Pope Date: Tue, 22 Oct 2019 09:31:41 +0100 Subject: [PATCH] Refs #30897 -- Added test for SETTINGS option to Queryset.explain() on PostgreSQL 12+. --- django/db/backends/postgresql/features.py | 4 ++++ tests/queries/test_explain.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/django/db/backends/postgresql/features.py b/django/db/backends/postgresql/features.py index 907ba136fb..5e7c99510d 100644 --- a/django/db/backends/postgresql/features.py +++ b/django/db/backends/postgresql/features.py @@ -64,6 +64,10 @@ class DatabaseFeatures(BaseDatabaseFeatures): def is_postgresql_10(self): return self.connection.pg_version >= 100000 + @cached_property + def is_postgresql_12(self): + return self.connection.pg_version >= 120000 + has_brin_autosummarize = property(operator.attrgetter('is_postgresql_10')) has_phraseto_tsquery = property(operator.attrgetter('is_postgresql_9_6')) supports_table_partitions = property(operator.attrgetter('is_postgresql_10')) diff --git a/tests/queries/test_explain.py b/tests/queries/test_explain.py index 60fce96be3..85e173bf3f 100644 --- a/tests/queries/test_explain.py +++ b/tests/queries/test_explain.py @@ -58,6 +58,8 @@ class ExplainTests(TestCase): ] if connection.features.is_postgresql_10: test_options.append({'summary': True}) + if connection.features.is_postgresql_12: + test_options.append({'settings': True}) for options in test_options: with self.subTest(**options), transaction.atomic(): with CaptureQueriesContext(connection) as captured_queries: