Re: Jsonpath ** vs lax mode

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Thomas Kellerer <shammat@gmx.net>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-01-25T15:31:01Z
Lists: pgsql-hackers
On Thu, Jan 21, 2021 at 12:38 PM Thomas Kellerer <shammat@gmx.net> wrote:
> Alexander Korotkov schrieb am 20.01.2021 um 18:13:
> > We have a bug report which says that jsonpath ** operator behaves strangely in the lax mode [1].
> That report was from me ;)
>
> Thanks for looking into it.
>
> > At first sight, we may just say that lax mode just sucks and
> > counter-intuitive results are expected.  But at the second sight, the
> > lax mode is used by default and current behavior may look too
> > surprising.
>
> I personally would be fine with the manual stating that the Postgres extension
> to the JSONPath processing that allows a recursive lookup using ** requires strict
> mode to work properly.
>
> It should probably be documented in chapter 9.16.2 "The SQL/JSON Path Language",
> maybe with a little warning in the description of jsonb_path_query** and in
> chapter 8.14.16 as well (or at least that's were I would expect such a warning)

Thank you for reporting :)

Yeah, documenting the current behavior is something "must have".  If
even we find the appropriate behavior change, I don't think it would
be backpatchable.  But we need to backpatch the documentation for
sure.  So, let's start by fixing the docs.

------
Regards,
Alexander Korotkov



Commits

  1. Document behavior of the .** jsonpath accessor in the lax mode