pgsql: pgbench: Improve handling of NULL in \gset and \aset

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pgbench: Improve handling of NULL in \gset and \aset
Date: 2026-09-10 04:11:22
Message-ID: E1x4W88-00000004EEa-3yd1@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pgbench: Improve handling of NULL in \gset and \aset

Previously, readCommandResponse() stored every column with PQgetvalue(),
which returns an empty string for the SQL NULL value. An empty string
is not a valid value in the pgbench expression language, and when
returned by the server it was also indistinguishable from a NULL.

When receiving a value, pgbench now checks for PQgetisnull() and sets a
NULL value with setNullValue() before saving it. This behavior is more
consistent with \set, making the result saved testable with IS NULL.

This is a quality-of-life improvement, so no backpatch is done.

Author: Shinya Kato <shinya11(dot)kato(at)gmail(dot)com>
Reviewed-by: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Reviewed-by: Shihao Zhong <zhong950419(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAOzEurT9J9QMmpJt_8pWZCziNYCUHOD=c-hoccOVYJLc_VxVRg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d8304bc661c29600f82ba62719457837edf47b08

Modified Files
--------------
src/bin/pgbench/pgbench.c | 19 ++++++++++++++++---
src/bin/pgbench/t/001_pgbench_with_server.pl | 14 ++++++++++++++
2 files changed, 30 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2026-09-10 04:23:41 pgsql: doc: Mention pg_stat_force_next_flush()
Previous Message Jeff Davis 2026-09-10 03:44:07 pgsql: Fix pg_iswcased().