Document behavior of the .** jsonpath accessor in the lax mode
authorAlexander Korotkov <akorotkov@postgresql.org>
Fri, 29 Jan 2021 12:27:55 +0000 (15:27 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Fri, 29 Jan 2021 12:28:07 +0000 (15:28 +0300)
commitb41645460af563cfd4e4f57f354058cf69ef3b14
treeebeb10c177d640747254026b4150f2734dca0750
parent2592be8be5aed6448a1e2b386fffd75ad69eb6c5
Document behavior of the .** jsonpath accessor in the lax mode

When the .** jsonpath accessor handles the array, it selects both array and
each of its elements.  When using lax mode, subsequent accessors automatically
unwrap arrays.  So, the content of each array element may be selected twice.

Even though this behavior is counterintuitive, it's correct because everything
works as designed.  This commit documents it.

Backpatch to 12 where the jsonpath language was introduced.

Reported-by: Thomas Kellerer
Bug: #16828
Discussion: https://postgr.es/m/16828-2b0229babfad2d8c%40postgresql.org
Discussion: https://postgr.es/m/CAPpHfdtS-nNidT%3DEqZbAYOPcnNOWh_sd6skVdu2CAQUGdvpT8Q%40mail.gmail.com
Author: Alexandex Korotkov, revised by Tom Lane
Reviewed-by: Alvaro Herrera, Thomas Kellerer, Tom Lane
Backpatch-through: 12
doc/src/sgml/func.sgml