Re: psql tests hangs
Kirk Wolak <wolakk@gmail.com>
From: Kirk Wolak <wolakk@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Pavel Stehule <pavel.stehule@gmail.com>,
Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andrey Borodin <x4mmm@yandex-team.ru>
Date: 2023-05-12T04:02:34Z
Lists: pgsql-hackers
On Thu, May 11, 2023 at 8:08 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Kirk Wolak <wolakk@gmail.com> writes:
> > Can you change the 0.01 to just 1 or 0?
> > I assume it will work then! (and better than a full removal)?
>
> IMO the point of that test is largely to exercise this locale-dependent
> behavior, so I'm very unwilling to dumb it down to that extent.
>
> Sorry, I meant simply as opposed to deleting the test to get it to pass.
> What seems to be happening is that the spawned psql process is making
> a different choice about what the LC_NUMERIC locale is than its parent
> perl process did. That seems like it might be a bug in itself, since
> POSIX is pretty clear about how you're supposed to derive the locale
> from the relevant environment variables. But maybe it's Perl's bug?
>
> regards, tom lane
>
Did you try the print statement that Andrey asked Pavel to try?
Because it gave 2 different results for Pavel. And Pavel's system has the
problem, but yours does not.
cat test.pl
use locale;
my $result = sprintf('SELECT 1 \watch c=3 i=%g', 0.01);
print ">>$result<<\n";
and when Pavel ran it, he got:
[pavel@localhost psql]$ perl test.pl
>>SELECT 1 \watch c=3 i=0,01<<
[pavel@localhost psql]$ LANG=C perl test.pl
>>SELECT 1 \watch c=3 i=0.01<<
Now I am curious what you get?
Because yours works. This should identify the difference.
Kirk...
Commits
-
Tighten usage of PSQL_WATCH_PAGER.
- bc478a0a85bc 15.4 landed
- 51b2c0879886 16.0 landed
-
Add tab-completion for newly added SUBSCRIPTION options.
- 96c498d2f8ce 16.0 cited
-
psql: add an optional execution-count limit to \watch.
- 00beecfe839c 16.0 cited
-
Handle empty or all-blank PAGER setting more sanely in psql.
- 18f8f784cbbf 10.0 cited