On 11/30/2016 03:47 AM, Fabien COELHO wrote:
Hello Andrew,
I cannot remember a language with elseif* variants, and I find them
quite ugly, so from an aethetical point of view I would prefer to
avoid that... On the other hand having an "else if" capability makes
sense (eg do something slightly different for various versions of
pg), so that would suggest to stick to a simpler "if" without
variants, if possible.
FTR I *strongly* disagree with this. (And if you can't remember a
language that comes with them then you need to get out more. The
Bourne shell, where it's spelled "elif", and Ada are two obvious
examples.)
There may be a misunderstanding somewhere.
I'm rather in favor of having "elif/elsif/elseif/..." constructs,
especially if they can be useful in realistic examples, which is not
clear yet for psql scripts.
I'm arguing against "if/elif" *variants* in the sense of various
conditional semantics: e.g. in cpp you have several "if"s (ifdef
ifndef if), but you do not have all the corresponding "elif"s (elifdef
elifndef...), there is only one "elif". In cpp "ifdef"/"ifndef" were
obsoleted by "if" with minimal expression support (#if
!defined(HAS_SOMETHING) ...) and only this "if" has its "elif".
Oh, I see. Sorry for the misunderstanding.
I agree about generally sticking with one pattern, but I wouldn't want
to exclude shorthand pieces like
\quit_if cond
which could be more convenient than
\if cond
\quit
\endif
c.f. perl's "foo if bar;" as shorthand for "if (bar) { foo; }"
Still, that might be a refinement to add later on.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers