From d42e47f572446e8e3f5974431a67e33eb613f845 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 27 Jan 2023 21:28:10 +0100 Subject: [PATCH] [4.2.x] Refs #34255 -- Skipped test_group_by_nested_expression_with_params test on PostgreSQL when server-side binding cursors are used. Thanks Tim Graham for the review. Backport of 82dad11bfe45f96f15e2330f58f62919cab9f14c from main --- django/db/backends/postgresql/features.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/django/db/backends/postgresql/features.py b/django/db/backends/postgresql/features.py index 6c20dd87f0..aa68465df9 100644 --- a/django/db/backends/postgresql/features.py +++ b/django/db/backends/postgresql/features.py @@ -84,6 +84,26 @@ class DatabaseFeatures(BaseDatabaseFeatures): }, } + @cached_property + def django_test_expected_failures(self): + expected_failures = set() + if self.uses_server_side_binding: + expected_failures.update( + { + # Parameters passed to expressions in SELECT and GROUP BY + # clauses are not recognized as the same values when using + # server-side binding cursors (#34255). + "aggregation.tests.AggregateTestCase." + "test_group_by_nested_expression_with_params", + } + ) + return expected_failures + + @cached_property + def uses_server_side_binding(self): + options = self.connection.settings_dict["OPTIONS"] + return is_psycopg3 and options.get("server_side_binding") is True + @cached_property def prohibits_null_characters_in_text_exception(self): if is_psycopg3: