Fix harmless LC_COLLATE[_MASK] confusion.
authorThomas Munro <tmunro@postgresql.org>
Mon, 19 Aug 2024 09:21:03 +0000 (21:21 +1200)
committerThomas Munro <tmunro@postgresql.org>
Mon, 19 Aug 2024 10:12:55 +0000 (22:12 +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 cd3661e7279d4056a7251614e473a79974f5408c..48b7e16d81bceacf1639ddca3ce159297c484cdb 100644 (file)
@@ -1755,7 +1755,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 =