Fix broken jsonb_set() logic for replacing array elements.
Tom Lane <tgl@sss.pgh.pa.us>
Fix broken jsonb_set() logic for replacing array elements. Commit 0b62fd036 did a fairly sloppy job of refactoring setPath() to support jsonb_insert() along with jsonb_set(). In its defense, though, there was no regression test case exercising the case of replacing an existing element in a jsonb array. Per bug #14366 from Peng Sun. Back-patch to 9.6 where bug was introduced. Report: <20161012065349.1412.47858@wrigleys.postgresql.org>
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/jsonfuncs.c | modified | +6 −6 |
| src/test/regress/expected/jsonb.out | modified | +6 −0 |
| src/test/regress/sql/jsonb.sql | modified | +1 −0 |