On 2017-02-03 08:16, Corey Huinker wrote:

0001.if_endif.v5.diff

1. Well, with this amount of interactive output it is impossible to get stuck without knowing :) This is good. Still, it would be an improvement to be able to break out of an inactive \if-branch with Ctrl-C. (I noticed that inside an active branch it is already possible )
'\endif' is too long to type, /and/ you have to know it.

2. Inside an \if block \q should be given precedence and cause a direct exit of psql (or at the
very least exit the if block(s)), as in regular SQL statements
(compare: 'select * from t \q' which will immediately exit psql -- this is good. )

3. I think the 'barking' is OK because interactive use is certainly not the first use-case. But nonetheless it could be made a bit more terse without losing its function.
The interactive behavior is now:
# \if 1
entered if: active, executing commands
# \elif 0
entered elif: inactive, ignoring commands
# \else
entered else: inactive, ignoring commands
# \endif
exited if: active, executing commands

It really is a bit too wordy, IMHO; I would say, drop all 'entered', 'active', and 'inactive' words.
That leaves it plenty clear what's going on.
That would make those lines:
if: executing commands
elif: ignoring commands
else: ignoring commands
exited if
(or alternatively, just mention 'if: active' or 'elif: inactive', etc., which has the advantage of being shorter)

5. A real bug, I think:
#\if asdasd
unrecognized value "asdasd" for "\if <expr>": boolean expected
# \q;
inside inactive branch, command ignored.
#

That 'unrecognized value' message is fair enough but it is counterintuitive that after an erroneous opening \if-expression, the if-modus should be entered into. ( and now I have to type \endif again... )

6. About the help screen:
There should be an empty line above 'Conditionals' to visually divide it from other help items.

The indenting of the new block is incorrect: the lines that start with
     fprintf(output, _("  \\
are indented to the correct level; the other lines are indented 1 place too much.

The help text has a few typos (some multiple times):
queires -> queries
exectue -> execute
subsequennt -> subsequent

Thanks,

Erik Rijkers


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to