Re: \if, \elseif, \else, \endif (was Re: [HACKERS] PSQL commands:\quit_if, \quit_unless)

Поиск
Список
Период
Сортировка
От Corey Huinker
Тема Re: \if, \elseif, \else, \endif (was Re: [HACKERS] PSQL commands:\quit_if, \quit_unless)
Дата
Msg-id CADkLM=e1_=iSxP72MP7WOAgyrFC6emO_7yAJDGeeC4tHkYjfcQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: \if, \elseif, \else, \endif (was Re: [HACKERS] PSQL commands:\quit_if, \quit_unless)  (Erik Rijkers <er@xs4all.nl>)
Ответы Re: \if, \elseif, \else, \endif (was Re: [HACKERS] PSQL commands:\quit_if, \quit_unless)  (Fabien COELHO <coelho@cri.ensmp.fr>)
Список pgsql-hackers
On Wed, Feb 1, 2017 at 6:31 AM, Erik Rijkers <er@xs4all.nl> wrote:
On 2017-02-01 09:27, Corey Huinker wrote:
 0001.if_endif.v4.diff

A few thoughts after a quick try:

I dislike the ease with which one gets stuck inside an \if block, in interactive mode.

(for instance, in my very first session, I tried   '\? \if'  to see if there is more info in that help-screen, but it only displays the normal help screen.  But after that one cannot exit with  \q  anymore, and there is no feedback of any kind (prompt?) in which black hole one has ended up.  Only a \endif  provides rescue.)

Good find. I'll have to bulk up the help text.
This raises a question: in interactive mode, should we give some feedback as to the result of an \if or \elif test? (see below)
 

Therefore making it possible to break out of \if-mode with Ctrl-C would be an improvement, I think.
I would even prefer it when  \q would exit psql always, even from within \if-mode.

This whole thing got started with a \quit_if <expr> command, and it was pointed out that

\if :condition
   \q
\endif

SELECT ... FROM ...

would be preferable. So I don't think we can do that. At least not in non-interactive mode.

As for CTRL-C, I've never looked into what psql does with CTRL-C, so I don't know if it's possible, let alone desirable.
 

Also, shouldn't  the prompt change inside an \if block?

That's a good question. I could see us finding ways to print the t/f of whether a branch is active or not, but I'd like to hear from more people before diving into something like that.
 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: [HACKERS] Reporting planning time with EXPLAIN
Следующее
От: Corey Huinker
Дата:
Сообщение: Re: \if, \elseif, \else, \endif (was Re: [HACKERS] PSQL commands:\quit_if, \quit_unless)