Special case C_COLLATION_OID in pg_newlocale_from_collation().

Jeff Davis <jdavis@postgresql.org>

Commit: 3ebea75f9afab4f526934100b4ba747e9d95bba8
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2025-11-05T00:49:00Z
Releases: 18.1
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@gmail.com>
Reviewed-by: Alexander Kukushkin <cyberdemn@gmail.com>
Discussion: https://postgr.es/m/CAFh8B=nj966ECv5vi_u3RYij12v0j-7NPZCXLYzNwOQp9AcPWQ@mail.gmail.com
Backpatch-through: 18

Files

PathChange+/−
src/backend/utils/adt/pg_locale.c modified +14 −0

Discussion