pgbench: extend variable usage in scripts - Mailing list pgsql-hackers

From Yugo Nagata
Subject pgbench: extend variable usage in scripts
Date
Msg-id 20250829162307.b2888293e1cf809668333395@sraoss.co.jp
Whole thread Raw
Responses Re: pgbench: extend variable usage in scripts
List pgsql-hackers
Hi,

I would like to propose patches to extend variable usage in pgbench scripts.

* 0001: Allow variables to be used as an SQL literal or identifier

Currently, variables in pgbench scripts are expanded always without
quotes, so they cannot be used as SQL literals or identifiers.
This patch allows the use of :'var' and :"var" in addition to :var

However, they can used only in SQL commands, not in the arguments of
meta-commands, since exprscan.l (the lexical scanner for pgbench backslash
commands) cannot currently handle quoted values.

Also, we have to use \aset, \gset or -D option to assign a string to a varialbe, 
since pgbench's \set command cannot recognize text values in its arguments.

* 0002: Add syntax for variable exisitence check

Currently, pgbench does not support :{?var} syntax to check  whether the variable
is defined or not. This patch adds support for this syntax in meta-command arguments.
This is useful for checking if \aset set the result to the variable or not.

However, it cannot be used in SQL statements for now.


Some of the current limitations described above might be relaxed in the future, but
for now, I would like to ask for initial feedback on this proposal.

Regards,
Yugo Nagata

-- 
Yugo Nagata <nagata@sraoss.co.jp>

Attachment

pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: SQL:2023 JSON simplified accessor support
Next
From: Pavel Stehule
Date:
Subject: Re: Assert single row returning SQL-standard functions