Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless) - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless)
Date
Msg-id alpine.DEB.2.20.1703301812100.18789@lancre
Whole thread Raw
In response to Re: [HACKERS] \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless)  ("Daniel Verite" <daniel@manitou-mail.org>)
List pgsql-hackers
Hello Tom,

>> pgbench (well, at least if I succeed in getting boolean expressions and
>> setting variables, which is just a maybe), but this kind of if in the
>> middle of expression does not make much sense for a pgbench script where
>> "if" must be evaluated at execution time, not parse time.
>
> Well, it's not really clear to me why that would be true.

For example, how can you PREPARE a possibly combinatorial thing?

SELECT  \if ... XX \else YY \endif
FROM  \if ... ZZ \else WW \endif
WHERE  \if ... AA \else BB \endif ;

Or the kind of operation:
  \if ...    SELECT *  \else    DELETE  \endif      FROM table WHERE condition;

Even the structure can be changed somehow:
  SELECT    \if ...      1 ;      SELECT 2    \endif      ;

> If it actually is impossible to give pgbench equivalent behavior, we'll 
> just have to live with the discrepancy,

Yep.

> but ISTM it could probably be made to work.

Even if it could somehow, I do not see it as a useful feature for pgbench. 
I also lack a good use case for psql for this feature.

-- 
Fabien.



pgsql-hackers by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: WIP: Covering + unique indexes.
Next
From: Robert Haas
Date:
Subject: Re: WIP: Covering + unique indexes.