Re: [HACKERS] PSQL commands: \quit_if, \quit_unless - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: [HACKERS] PSQL commands: \quit_if, \quit_unless
Date
Msg-id CAFj8pRBF-z8jUPXu_2JuCaXAzVeWi0m9O1muMqoky5yzmYyPmA@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] PSQL commands: \quit_if, \quit_unless  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-hackers


2016-12-16 18:33 GMT+01:00 David G. Johnston <david.g.johnston@gmail.com>:
On Fri, Dec 16, 2016 at 10:28 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
2016-12-16 18:21 GMT+01:00 David G. Johnston <david.g.johnston@gmail.com>:
On Fri, Dec 16, 2016 at 9:55 AM, Robert Haas <robertmhaas@gmail.com> wrote:

If the expected committed patch set includes #5 then this becomes a matter for reviewer convenience so never mind.  But if its at all possible for #5 to be punted down the road incorporating the eventual "not var" and "not(var)" syntax into #1 as a kind of shim would seem desirable.

why do you need special operator for negation? there is only one use case. It can be solved by \if_not 

​Not following the thread that closely and the section Robert quoted didn't include "\if_not" as a syntax option.  I figured the idea was to limit the number of backslash commands and leave the power in the expression evaluation.

without a expression you can store a negation to variable

I can imagine simple functional only expressions evaluated on client side.

\if not(table_exists('table_name'))

full expressions are not easy implemented without bigger changes in psql parser design - and I don't see any reason why do some too complex there. I would not to replace bash, perl, python or lua.
 

David J.

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] PSQL commands: \quit_if, \quit_unless
Next
From: Pavel Stehule
Date:
Subject: Re: [HACKERS] proposal: session server side variables