pgsql: Rename jsonb_replace to jsonb_set and allow it to add new values

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Rename jsonb_replace to jsonb_set and allow it to add new values
Date: 2015-06-01 00:43:50
Message-ID: E1YzDpW-0005io-D5@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rename jsonb_replace to jsonb_set and allow it to add new values

The function is given a fourth parameter, which defaults to true. When
this parameter is true, if the last element of the path is missing
in the original json, jsonb_set creates it in the result and assigns it
the new value. If it is false then the function does nothing unless all
elements of the path are present, including the last.

Based on some original code from Dmitry Dolgov, heavily modified by me.

Catalog version bumped.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/37def4224505f3a23a5eef000f0d05daea59c5b5

Modified Files
--------------
doc/src/sgml/func.sgml | 51 +++++++++--
src/backend/catalog/system_views.sql | 8 ++
src/backend/utils/adt/jsonfuncs.c | 151 +++++++++++++++++++++++----------
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.h | 4 +-
src/include/utils/jsonb.h | 2 +-
src/test/regress/expected/jsonb.out | 124 +++++++++++++++++++++------
src/test/regress/expected/jsonb_1.out | 124 +++++++++++++++++++++------
src/test/regress/sql/jsonb.sql | 46 +++++++---
9 files changed, 385 insertions(+), 127 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2015-06-01 01:40:49 Re: pgsql: Rename jsonb_replace to jsonb_set and allow it to add new values
Previous Message Peter Eisentraut 2015-05-31 11:12:57 pgsql: Make Python tests more portable