Re: Variable substitution in psql backtick expansion
Fabien COELHO <coelho@cri.ensmp.fr>
From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Verite <daniel@manitou-mail.org>,
PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2017-04-03T19:24:39Z
Lists: pgsql-hackers
Hello Tom,
>> \if [select current_setting('server_version_num')::int < 110000]
>
> I really dislike this syntax proposal.
> It would get us into having to count nested brackets, and distinguish
> quoted from unquoted brackets, and so on ... and for what? It's not
> really better than
>
> \if sql select 1 from pg_catalog.pg_extension where extname='pgcrypto'
Hmmm. On the positive side, it looks more expression-like, and it allows
to think of handling a multi-line expression on day.
ISTM that the lexer already counts parentheses, so maybe using external
parentheses might work without much effort?
> (ie, "\if sql ...text to send to server...").
>
> If you're worried about shaving keystrokes, make the "select" be implicit.
> That would be particularly convenient for the common case where you're
> just trying to evaluate a boolean expression with no table reference.
I'm looking for a solution to avoid the suggested "sql" prefix, because "I
really dislike this proposal", as you put it.
--
Fabien.
Commits
-
Add psql variables showing server version and psql version.
- a6c678f018d3 10.0 landed
- 9ae9d8c1549c 11.0 landed
-
Reformat psql's --help=variables output.
- 3955c8c4eda2 11.0 landed
-
Remove reinvention of stringify macro.
- cd6baed78150 10.0 landed
-
Allow psql variable substitution to occur in backtick command strings.
- f833c847b8fa 10.0 landed