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(-)

Reply via email to