From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
---|---|
To: | Amit Langote <amitlan(at)postgresql(dot)org> |
Cc: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: SQL/JSON: Fix issues with DEFAULT .. ON ERROR / EMPTY |
Date: | 2024-04-18 08:15:50 |
Message-ID: | CA+HiwqEjkbDxqqD3VJamc6R9+B102H7=SFYYOM7gKrxzJO35TQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
On Thu, Apr 18, 2024 at 3:51 PM Amit Langote <amitlan(at)postgresql(dot)org> wrote:
> SQL/JSON: Fix issues with DEFAULT .. ON ERROR / EMPTY
>
> SQL/JSON query functions allow specifying an expression to return
> when either of ON ERROR or ON EMPTY condition occurs when evaluating
> the JSON path expression. The parser (transformJsonBehavior()) checks
> that the specified expression is one of the supported expressions, but
> there are two issues with how the check is done that are fixed in this
> commit:
>
> * No check for some expressions related to coercion, such as
> CoerceViaIO, that may appear in the transformed user-specified
> expressions that include cast(s)
>
> * An unsupported expression may be masked by a coercion-related
> expression, which must be flagged by checking the latter's
> argument expression recursively
>
> Author: Jian He <jian(dot)universality(at)gmail(dot)com>
> Author: Amit Langote <amitlangote09(at)gmail(dot)com>
> Reported-by: Jian He <jian(dot)universality(at)gmail(dot)com>
> Discussion: https://postgr.es/m/CACJufxEqhqsfrg_p7EMyo5zak3d767iFDL8vz_4%3DZBHpOtrghw@mail.gmail.com
> Discussion: https://postgr.es/m/CACJufxGOerH1QJknm1noh-Kz5FqU4p7QfeZSeVT2tN_4SLXYNg@mail.gmail.com
>
> Branch
> ------
> master
>
> Details
> -------
> https://git.postgresql.org/pg/commitdiff/c0fc0751862d4e9b7ca9d51f2cd79344690ec873
>
> Modified Files
> --------------
> src/backend/parser/parse_expr.c | 37 ++++++++++++++-
> src/test/regress/expected/sqljson_jsontable.out | 32 +++++++++++++
> src/test/regress/expected/sqljson_queryfuncs.out | 57 ++++++++++++++++++++++++
> src/test/regress/sql/sqljson_jsontable.sql | 16 +++++++
> src/test/regress/sql/sqljson_queryfuncs.sql | 27 +++++++++++
> 5 files changed, 167 insertions(+), 2 deletions(-)
Noticed failures on canebrake and urutu that seem to have to do with
using the same DOMAIN name in nearby test files causing a clash.
Will push a fix shortly.
--
Thanks, Amit Langote
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2024-04-18 08:31:47 | pgsql: Fix object name clash in recently introduced test |
Previous Message | Amit Langote | 2024-04-18 06:51:26 | pgsql: SQL/JSON: Miscellaneous fixes and improvements |