psql: Fix \watch when using interval values less than 1ms
authorMichael Paquier <michael@paquier.xyz>
Mon, 14 Oct 2024 03:27:51 +0000 (12:27 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 14 Oct 2024 03:27:51 +0000 (12:27 +0900)
commit9f34cae1426fe5ab915c95b7e26b1efffbb2ca0f
treef960be6c8048d0e5a4056f86f6f4ffdfa170d83b
parent35a015a60045c2daa532c7a9545818856f09d57a
psql: Fix \watch when using interval values less than 1ms

Attempting to use an interval of time less than 1ms would cause \watch
to hang.  This was confusing, so let's change the logic so as an
interval lower than 1ms behaves the same as 0.

Comments are added to mention that the internals of do_watch() had
better rely on "sleep_ms", the interval value in milliseconds.  While on
it, this commit adds a test to check the behavior of interval values
less than 1ms.

\watch hanging for interval values less than 1ms existed before
6f9ee74d45aa, that has changed the code to support an interval value of
0.

Reported-by: Heikki Linnakangas
Author: Andrey M. Borodin, Michael Paquier
Discussion: https://postgr.es/m/88445e0e-3156-4b9d-afae-9a1a7b1631f6@iki.fi
Backpatch-through: 16
src/bin/psql/command.c
src/bin/psql/t/001_basic.pl