pgsql: SQL/JSON: Correctly enforce the default ON EMPTY behavior

From: Amit Langote <amitlan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: SQL/JSON: Correctly enforce the default ON EMPTY behavior
Date: 2024-06-19 06:48:09
Message-ID: E1sJp72-002766-Aa@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

SQL/JSON: Correctly enforce the default ON EMPTY behavior

Currently, when the ON EMPTY clause is not present, the ON ERROR
clause (implicit or explicit) dictates the behavior when jsonpath
evaluation in ExecEvalJsonExprPath() results in an empty sequence.
That is an oversight in the commit 6185c9737c.

This commit fixes things so that a NULL is returned instead in that
case which is the default behavior when the ON EMPTY clause is not
present.

Reported-by: Markus Winand
Discussion: https://postgr.es/m/F7DD1442-265C-4220-A603-CB0DEB77E91D%40winand.at

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/03ec203164119f11f0eab4c83c97a8527e2b108d

Modified Files
--------------
src/backend/parser/parse_expr.c | 27 ++++++++++++--------
src/test/regress/expected/sqljson_jsontable.out | 19 ++++++++++----
src/test/regress/expected/sqljson_queryfuncs.out | 32 +++++++++++++++---------
src/test/regress/sql/sqljson_jsontable.sql | 8 +++---
src/test/regress/sql/sqljson_queryfuncs.sql | 18 ++++++-------
5 files changed, 64 insertions(+), 40 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nathan Bossart 2024-06-19 21:13:05 pgsql: Fix comment in pg_upgrade.h.
Previous Message Bruce Momjian 2024-06-19 02:42:12 pgsql: doc PG 17 relnotes: properly wrap SGML text