psql parses the interval argument of \watch with locale-dependent
strtod(). In commit
00beecfe8 I added a test case that exercises
a fractional interval, but I hard-coded 0.01 which doesn't work
in locales where the radix point isn't ".". We don't want to
change this longstanding parsing behavior, so fix the test case
to generate a suitably locale-aware spelling.
Report and patch by Alexander Korotkov.
Discussion: https://postgr.es/m/CAPpHfdv+10Uk6FWjsh3+ju7kHYr76LaRXbYayXmrM7FBU-=Hgg@mail.gmail.com
use strict;
use warnings;
+use locale;
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
);
# Check \watch
+# Note: the interval value is parsed with locale-aware strtod()
psql_like(
$node,
- 'SELECT 1 \watch c=3 i=0.01',
+ sprintf('SELECT 1 \watch c=3 i=%g', 0.01),
qr/1\n1\n1/,
'\watch with 3 iterations');