pgsql: Fix Utils.pm's locale-munging so that Perl itself is also affect

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix Utils.pm's locale-munging so that Perl itself is also affect
Date: 2023-04-18 17:32:00
Message-ID: E1popBP-003iLT-O7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix Utils.pm's locale-munging so that Perl itself is also affected.

Utils.pm has a BEGIN block that editorializes on the locale-related
environment variables, primarily in order to stabilize the behavior
of child programs. It turns out that if the calling test script
has already done "use locale", this fails to affect the behavior
of Perl itself, causing locale behavior to be different between
Perl and child programs. That breaks commit cd82e5c79's attempt
to deal with locale-specific behavior in psql.

To fix, we just need to call setlocale() to redo the calculation
of locale.

Per report from Aleksander Alekseev. No back-patch for now, since
there are no locale-dependent TAP tests in prior branches, and
I'm not yet convinced that this won't have side-effects of its own.

Discussion: https://postgr.es/m/CAJ7c6TO9KpYYxoVVseWEQB5KtjWDkt8NfyAeKPcHoe2Jq+ykpw@mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/test/perl/PostgreSQL/Test/Utils.pm | 2 ++
1 file changed, 2 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2023-04-18 17:33:48 pgsql: Remove useless argument from nbtree dedup function.
Previous Message Robert Haas 2023-04-18 15:35:22 pgsql: Fix pg_basebackup with in-place tablespaces some more.