pgsql: Fix lc_collate_is_c() when LC_COLLATE != LC_CTYPE.

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix lc_collate_is_c() when LC_COLLATE != LC_CTYPE.
Date: 2024-11-06 22:49:05
Message-ID: E1t8opl-000XAk-1B@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix lc_collate_is_c() when LC_COLLATE != LC_CTYPE.

An unfortunate typo in commit 2d819a08a1 can cause wrong results when
the default collation provider is libc, LC_CTYPE=C, and LC_COLLATE is
a real locale. Users with this combination of settings must REINDEX
all affected indexes.

The same typo can also cause performance degradation when LC_COLLATE=C
and LC_CTYPE is a real locale.

Problem does not exist in master (due to refactoring), so fix only in
version 17.

Reported-by: Drew Callahan
Discussion: https://postgr.es/m/d5081a7f4f6d425c28dd69d1e09b2e78f149e726.camel@j-davis.com

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8148e7124d550770e3a9064b9b45b354d783b949

Modified Files
--------------
src/backend/utils/adt/pg_locale.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2024-11-07 03:13:11 pgsql: Improve handling of empty query results in BackgroundPsql::query
Previous Message Daniel Gustafsson 2024-11-06 14:45:55 pgsql: Find invalid databases during upgrade check stage