Hello Pavel,
>>> This is a discussion without actual patch intended for pg12, to be added
>>> to CF 2018-09. The expected end result is either "returned with feedback",
>>> meaning proceed to send some big patch(es), or "rejected", meaning the
>>> project does not want this, no point in submitting something.
>
> please, can you port expression evaluation from pgbench to psql? I miss a
> patch.
Indeed, I have not done it yet:-)
This is a pretty large series of patches, which would take a significant
time for developing (me), rewiewing (not me) and committing (with overload
committers). I would not like to end in the "we do not want this feature
at all" state *after* the time has been spent, hence this pre-patch call
for discussion about the feature itself, before diving into coding.
I take note that you are interested in actually having this feature.
> I am sure so psql expression evaluation has strong benefit - mainly for
> expressions like
>
> \if SERVER_VERSION_NUM >= xxxx
> ...
> \endif
Note that this can already be done by relying on server-side expressions:
SELECT :SERVER_VERSION_NUM >= 110000 AS "version_11_plus" \gset
\if :version_11_plus
...
\endif
Not very elegant, but functional. I'm not sure there is a compelling
reason to have this feature beyond elegance.
--
Fabien.