Re: Thread-safe nl_langinfo() and localeconv()

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Thread-safe nl_langinfo() and localeconv()
Date: 2025-03-28 08:13:54
Message-ID: ddcb47f2-842e-4e80-9ab6-f4d7427c5df7@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 27.03.25 11:16, Peter Eisentraut wrote:
>> Patch 0002 also looks okay, except that the error handling could be
>> unified with existing code, as I had previously pointed out.  Patch
>> 0005 fixes that.
>
> I plan to commit this one next, after the above had a bit of time to stew.

also done

>> About patch 0003:
>>
>> I had previously pointed out that the canonicalization might have been
>> intentional, and that we have canonicalization of ICU locale names.
>> But we don't have to keep the setlocale()-based locale checking
>> implementation just for that, I think.  (If this was meant to be a
>> real feature offered by libc, there should be a
>> get_locale_name(locale_t) function.)

> Anyway, this patch fails tests on CI on NetBSD, so it will need some
> further investigation.

It turns out the problem was that nl_langinfo_l() returns a codeset name
of "646" for the C locale, which we didn't have in our mapping table.
If we add that, then everything passes there as well. (But the use of
nl_langinfo_l() wasn't added by this patch, it just exposes it to the
tests. So this is apparently a pre-existing problem.)

Attached are the remaining patches in this series.

Attachment Content-Type Size
v6.2-0001-Remove-setlocale-from-check_locale.patch text/plain 9.2 KB
v6.2-0002-Add-646-as-a-codeset-name-for-ASCII.patch text/plain 706 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Pyhalov 2025-03-28 08:19:30 Re: MergeAppend could consider sorting cheapest child path
Previous Message Maksim.Melnikov 2025-03-28 07:57:58 Re: sync_standbys_defined read/write race on startup