On Thursday, June 5, 2025, Peter Eisentraut <
peter@eisentraut.org> wrote:
On 07.04.25 02:55, Daniel Gustafsson wrote:
On 7 Apr 2025, at 02:43, David G. Johnston <david.g.johnston@gmail.com> wrote:
How about:
+ " if set to a number, overrides the default two second \\watch interval\n"
I do like the consistency of "if set" even though most of the others are booleans.
Ah yes, number is better. I'll go ahead with that in the morning.
I came across this psql help text and had a hard time processing it, and, without having read this thread, my thought process was that the message should be phrased more like how it was originally.
The problem with the current phrasing is:
- "if set to a number" seems to indicate that something else happens if it's not a number. But it doesn't say what. And it's also not true. And we don't phrase things like that for other numeric settings.
If not set to a number (data type indicator) it doesn’t override. I suppose “to a number” could be removed since mention of seconds implies that you better enter a number for the value.
- The way this is phrased now seems to say that the variable is unset by default, and only if it is set does it override the default. But that is not what happens. The variable has a value by default, and that is what gets used.
Can you demonstrate this claim? It’s basically an environment variable - which are conventionally unset in the environment, and when set their value overrides some other externally defined value. In this case a define.
I suggest something like this:
number seconds \watch waits between executions (in seconds, default %d)
So, get rid of the technicality of it being set/unset and just phrase it from the user’s perspective. I could live with that.
While we're here, the documentation could also use some more detail:
<varlistentry id="app-psql-variables-watch-interval">
<term><varname>WATCH_INTERVAL</varname></term>
<listitem>
<para>
This variable sets the default interval which <command>\watch</command>
waits between executing the query. Specifying an interval in the
command overrides this variable.
</para>
</listitem>
</varlistentry>
This mentions neither the units nor the default value.
True, it needs to be clear the input number is interpreted as seconds. Again, technically has no default being an environment variable but I’m fine if people want to ignore that fact and instead treat it like it does from the user’s perspective. The environment variable set/unset just seems like standard behavior in our world, I am not seeing why it’s confusing here. Do you want to point out an example we should be emulating?
David J.