pgsql: Special case C_COLLATION_OID in pg_newlocale_from_collation().

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Special case C_COLLATION_OID in pg_newlocale_from_collation().
Date: 2025-11-05 00:49:41
Message-ID: E1vGRiX-0054Xx-2F@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Special case C_COLLATION_OID in pg_newlocale_from_collation().

Allow pg_newlocale_from_collation(C_COLLATION_OID) to work even if
there's no catalog access, which some extensions expect.

Not known to be a bug without extensions involved, but backport to 18.

Also corrects an issue in master with dummy_c_locale (introduced in
commit 5a38104b36) where deterministic was not set. That wasn't a bug,
but could have been if that structure was used more widely.

Reported-by: Alexander Kukushkin <cyberdemn(at)gmail(dot)com>
Reviewed-by: Alexander Kukushkin <cyberdemn(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAFh8B=nj966ECv5vi_u3RYij12v0j-7NPZCXLYzNwOQp9AcPWQ@mail.gmail.com
Backpatch-through: 18

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d115de9d89164e87269d73d4f0f1368f06ebdd5e

Modified Files
--------------
src/backend/regex/regc_pg_locale.c | 36 +++++-------------------------------
src/backend/utils/adt/pg_locale.c | 13 +++++++++++++
2 files changed, 18 insertions(+), 31 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2025-11-05 00:49:47 pgsql: Special case C_COLLATION_OID in pg_newlocale_from_collation().
Previous Message Masahiko Sawada 2025-11-04 23:48:51 pgsql: Add CHECK_FOR_INTERRUPTS in Evict{Rel,All}UnpinnedBuffers.