Re: PSQL commands: \quit_if, \quit_unless
От | Andrew Dunstan |
---|---|
Тема | Re: PSQL commands: \quit_if, \quit_unless |
Дата | |
Msg-id | b8a3179f-6606-d740-f52f-0ba302483669@dunslane.net обсуждение исходный текст |
Ответ на | Re: PSQL commands: \quit_if, \quit_unless (Fabien COELHO <coelho@cri.ensmp.fr>) |
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: