pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix JsonExpr deparsing to quote variable names in the PASSING cl
Date: Sun, 12 Jan 2025 13:39:38 +0000
Message-ID: <E1tWyBl-0019Gh-RS@gemulon.postgresql.org> (raw)

Fix JsonExpr deparsing to quote variable names in the PASSING clause.

When deparsing a JsonExpr, variable names in the PASSING clause were
not quoted. However, since they are parsed as ColLabel tokens, some
variable names require double quotes to ensure that they are properly
interpreted. Fix by using quote_identifier() in the deparsing code.

This oversight was limited to the SQL/JSON query functions
JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE().

Back-patch to v17, where these functions were added.

Dean Rasheed, reviewed by Tom Lane.

Discussion: https://postgr.es/m/CAEZATCXTpAS%3DncfLNTZ7YS6O5puHeLg_SUYAit%2Bcs7wsrd9Msg%40mail.gmail.com

Branch
------
REL_17_STABLE

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

Modified Files
--------------
src/backend/utils/adt/ruleutils.c                |  2 +-
src/test/regress/expected/sqljson_queryfuncs.out | 20 +++++++++++++++++---
src/test/regress/sql/sqljson_queryfuncs.sql      |  5 ++++-
3 files changed, 22 insertions(+), 5 deletions(-)



view thread (2+ messages)

Message-ID: <E1tWyBl-0019Gh-RS@gemulon.postgresql.org>
Permalink:  ../E1tWyBl-0019Gh-RS@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1tWyBl-0019Gh-RS@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: dean.a.rasheed@gmail.com, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix JsonExpr deparsing to quote variable names in the PASSING cl
  In-Reply-To: <E1tWyBl-0019Gh-RS@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox