On Mon, Jan 23, 2017 at 11:16 AM, Fabien COELHO <coelho@cri.ensmp.fr> wrote:
[...] Obviously the \if stuff is things we don't have yet either, but it seems less likely to have surprising side-effects.
I agree, a more generic solution seems better than an ad-hoc one.
Currently the value of a non existing psql-variable is... its own reference:-(
psql> \echo :x > :x
I'm not sure of the rational, apart from the probable lexer implementation point of view. Maybe an empty string or 0 or some configurable value would provide better alternative.
The fundamental problem is that:
SELECT 'testing' AS ":tablename"
is perfectly valid SQL code. psql, by design, attempts to resolve all strings of the form <:['"]?\w> in a purely textual manner.