Process variadic arguments consistently in json functions

json_build_object and json_build_array and the jsonb equivalents did not
correctly process explicit VARIADIC arguments. They are modified to use
the new extract_variadic_args() utility function which abstracts away
the details of the call method.

Michael Paquier, reviewed by Tom Lane and Dmitry Dolgov.

Backpatch to 9.5 for the jsonb fixes and 9.4 for the json fixes, as
that's where they originated.

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/98efa5ebf0b44d9b5ac7ba0dccff3e4870b4d3c9

Modified Files
--------------
src/backend/utils/adt/json.c        |  84 ++++++++--------------------
src/backend/utils/adt/jsonb.c       |  97 +++++++++-----------------------
src/test/regress/expected/json.out  | 107 ++++++++++++++++++++++++++++++++++++
src/test/regress/expected/jsonb.out | 105 +++++++++++++++++++++++++++++++++++
src/test/regress/sql/json.sql       |  21 +++++++
src/test/regress/sql/jsonb.sql      |  22 +++++++-
6 files changed, 305 insertions(+), 131 deletions(-)


-- 
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to