BUG #16828: duplicate results when using ** recursive expression in JSON path
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: shammat@gmx.net
Date: 2021-01-17T10:34:50Z
Lists: pgsql-bugs
The following bug has been logged on the website:
Bug reference: 16828
Logged by: Thomas Kellerer
Email address: shammat@gmx.net
PostgreSQL version: 13.1
Operating system: Windows 10, CentOS 8
Description:
The following query
select jsonb_path_query_array(col, '$.**.itemName')
from (
values ('{"items": [{"itemName": "a", "items": [{"itemName":
"b"}]}]}'::jsonb)
) as t(col)
returns ["a", "a", "b", "b"] but should return only ["a", "b"] as each value
only appears once in the JSON value.
This also happens on Postgres 12.x
Commits
-
Document behavior of the .** jsonpath accessor in the lax mode
- bd6366129b1b 12.6 landed
- 9915fe22969a 13.2 landed
- b41645460af5 14.0 landed