Re: Variable substitution in psql backtick expansion
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Greg Stark <stark@mit.edu>
Cc: Fabien COELHO <coelho@cri.ensmp.fr>,
Daniel Verite <daniel@manitou-mail.org>, Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2017-04-10T17:53:01Z
Lists: pgsql-hackers
2017-04-10 13:07 GMT+02:00 Greg Stark <stark@mit.edu>: > On 2 April 2017 at 07:53, Fabien COELHO <coelho@cri.ensmp.fr> wrote: > > Note that this is already available indirectly, as show in the > > documentation. > > > > SELECT some-boolean-expression AS okay \gset > > \if :okay > > \echo boolean expression was true > > \else > > \echo boolean expression was false > > \endif > > > Am I the only one who thinks that even if \if got the ability to > evaluate arbitrary SQL queries I would probably still always write > things as above? I think putting arbitrary SQL expressions (let alone > queries) would make scripts just a total mess and impossible for > humans to parse. > Totally agree. > Whereas storing the results in psql variables and then using those > variables in \if makes even fairly complex queries and nested \if > structures straightforward. It would also make it far clearer in what > order the queries will be evaluated and under which set of conditions. > > I don't think taking a simple command line execution environment like > psql and trying to embed a complete complex language parser in it is > going to result in a sensible programming environment. Having a simple > \if <single variable> is already pushing it. If someone wanted > anything more complex I would strongly recommend switching to perl or > python before trying to code up nesting arbitrary sql in nested > expressions. > I think so some local expression evaluation could be - but it should not be placed in \if statement \expr issupported :VERSION_NUM >= 10000 \if :issuported maybe \if can support the basic logic predicates NOT, OR, AND - but the operands can be only evaluated variables Regards Pavel > -- > greg > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >
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