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

From Pavel Stehule
Subject Re: pgbench: extend variable usage in scripts
Date
Msg-id CAFj8pRA1mPTdKAZsoJzW3NLq1C8xuKXTcN8iXESJrr5zLFto_w@mail.gmail.com
Whole thread Raw
In response to pgbench: extend variable usage in scripts  (Yugo Nagata <nagata@sraoss.co.jp>)
List pgsql-hackers


pá 29. 8. 2025 v 9:23 odesílatel Yugo Nagata <nagata@sraoss.co.jp> napsal:
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.

+1

Regards

Pavel
 

Regards,
Yugo Nagata

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

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Assert single row returning SQL-standard functions
Next
From: m.korotkov@postgrespro.ru
Date:
Subject: Re: pg_dump: fix memory leak