pgsql: Make json_populate_record and friends operate recursively

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make json_populate_record and friends operate recursively
Date: 2017-04-07 02:22:36
Message-ID: E1cwJXo-0007lU-64@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make json_populate_record and friends operate recursively

With this change array fields are populated from json(b) arrays, and
composite fields are populated from json(b) objects.

Along the way, some significant code refactoring is done to remove
redundancy in the way to populate_record[_set] and to_record[_set]
functions operate, and some significant efficiency gains are made by
caching tuple descriptors.

Nikita Glukhov, edited some by me.

Reviewed by Aleksander Alekseev and Tom Lane.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/cf35346e813e5a1373f308d397bb0a8f3f21d530

Modified Files
--------------
doc/src/sgml/func.sgml | 16 +-
src/backend/utils/adt/jsonfuncs.c | 1700 ++++++++++++++++++++++++-----------
src/test/regress/expected/json.out | 466 +++++++++-
src/test/regress/expected/jsonb.out | 478 +++++++++-
src/test/regress/sql/json.sql | 156 +++-
src/test/regress/sql/jsonb.sql | 156 +++-
6 files changed, 2412 insertions(+), 560 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2017-04-07 03:13:29 Re: pgsql: Identity columns
Previous Message Peter Eisentraut 2017-04-07 02:17:57 pgsql: Remove use of Jade and DSSSL