From 779cd28acb1f7eb06f629c0ea4ded99b5ebb670a Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 22 Sep 2023 06:01:11 +0200 Subject: Fixed #34840 -- Avoided casting string base fields on PostgreSQL. Thanks Alex Vandiver for the report. Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca. --- docs/releases/4.2.6.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'docs') diff --git a/docs/releases/4.2.6.txt b/docs/releases/4.2.6.txt index 23d5f2a04f..d89b5ff6b1 100644 --- a/docs/releases/4.2.6.txt +++ b/docs/releases/4.2.6.txt @@ -12,3 +12,13 @@ Bugfixes * Fixed a regression in Django 4.2.5 where overriding the deprecated ``DEFAULT_FILE_STORAGE`` and ``STATICFILES_STORAGE`` settings in tests caused the main ``STORAGES`` to mutate (:ticket:`34821`). + +* Fixed a regression in Django 4.2 that caused unnecessary casting of string + based fields (``CharField``, ``EmailField``, ``TextField``, ``CICharField``, + ``CIEmailField``, and ``CITextField``) used with the ``__isnull`` lookup on + PostgreSQL. As a consequence, the pre-Django 4.2 indexes didn't match and + were not used by the query planner (:ticket:`34840`). + + You may need to recreate indexes propagated to the database with Django + 4.2 - 4.2.5 as they contain unnecessary ``::text`` casting that is avoided as + of this release. -- cgit v1.3