mirror of
https://github.com/postgres/postgres.git
synced 2025-11-07 19:06:32 +03:00
Provide a test for variable existence in psql
"\if :{?variable_name}" will be translated to "\if TRUE" if the variable
exists and "\if FALSE" otherwise. Thus it will be possible to execute code
conditionally on the existence of the variable, regardless of its value.
Fabien Coelho, with some review by Robins Tharakan and some light text
editing by me.
Discussion: https://postgr.es/m/alpine.DEB.2.20.1708260835520.3627@lancre
This commit is contained in:
@@ -572,6 +572,24 @@ select \if false \\ (bogus \else \\ 42 \endif \\ forty_two;
|
||||
\echo 'should print #8-1'
|
||||
\endif
|
||||
|
||||
-- :{?...} defined variable test
|
||||
\set i 1
|
||||
\if :{?i}
|
||||
\echo '#9-1 ok, variable i is defined'
|
||||
\else
|
||||
\echo 'should not print #9-2'
|
||||
\endif
|
||||
|
||||
\if :{?no_such_variable}
|
||||
\echo 'should not print #10-1'
|
||||
\else
|
||||
\echo '#10-2 ok, variable no_such_variable is not defined'
|
||||
\endif
|
||||
|
||||
SELECT :{?i} AS i_is_defined;
|
||||
|
||||
SELECT NOT :{?no_such_var} AS no_such_var_is_not_defined;
|
||||
|
||||
-- SHOW_CONTEXT
|
||||
|
||||
\set SHOW_CONTEXT never
|
||||
|
||||
Reference in New Issue
Block a user