Fix harmless LC_COLLATE[_MASK] confusion.
authorThomas Munro
Mon, 19 Aug 2024 09:21:03 +0000 (21:21 +1200)
committerThomas Munro
Mon, 19 Aug 2024 10:21:06 +0000 (22:21 +1200)
Commit ca051d8b101 called newlocale(LC_COLLATE, ...) instead of
newlocale(LC_COLLATE_MASK, ...), in code reached only on FreeBSD.  They
have the same value on that OS, explaining why it worked.  Fix.

Back-patch to 14, where ca051d8b101 landed.

src/backend/utils/adt/pg_locale.c

index 8d0ea4d31ddf895a870984a8a4db6af6b14cc685..1c57f12695e08651b26fa6e57d0274abf0af7f25 100644 (file)
@@ -1779,7 +1779,7 @@ get_collation_actual_version(char collprovider, const char *collcollate)
        locale_t    loc;
 
        /* Look up FreeBSD collation version. */
-       loc = newlocale(LC_COLLATE, collcollate, NULL);
+       loc = newlocale(LC_COLLATE_MASK, collcollate, NULL);
        if (loc)
        {
            collversion =