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
-
Document behavior of the .** jsonpath accessor in the lax mode
- bd6366129b1b 12.6 landed
- 9915fe22969a 13.2 landed
- b41645460af5 14.0 landed