pgsql: Process variadic arguments consistently in json functions

Lists: pgsql-committerspgsql-hackers
From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Process variadic arguments consistently in json functions
Date: 2017-10-25 12:24:21
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/18fc4ecf4afafe40bd7e7577bd611e5caf74c9fd

Modified Files
--------------
src/backend/utils/adt/json.c | 84 ++++++++--------------------
src/backend/utils/adt/jsonb.c | 99 ++++++++++-----------------------
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, 306 insertions(+), 132 deletions(-)


From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Process variadic arguments consistently in json functions
Date: 2017-10-26 04:12:36
Message-ID: CAB7nPqSha1L8yHko9cPxbU5gt=xp8QE0e9_5B9HkcXRC5e0+Xw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Wed, Oct 25, 2017 at 5:24 AM, Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
> 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.

- * Copyright (c) 2014-2017, PostgreSQL Global Development Group
+ * COPYRIGHT (c) 2014-2017, PostgreSQL Global Development Group
Andrew, I have just noticed that this noise diff has crept in. You may
want to fix that.
--
Michael


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Process variadic arguments consistently in json functions
Date: 2017-10-26 12:18:56
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On 10/26/2017 12:12 AM, Michael Paquier wrote:
> On Wed, Oct 25, 2017 at 5:24 AM, Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>> 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.
> - * Copyright (c) 2014-2017, PostgreSQL Global Development Group
> + * COPYRIGHT (c) 2014-2017, PostgreSQL Global Development Group
> Andrew, I have just noticed that this noise diff has crept in. You may
> want to fix that.

Argh! I see that in your v6 patch and I thought I'd caught all of it but
apparently not for master and REL_10. I wonder how that happened?

Will fix.

cheers

andrew


From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Process variadic arguments consistently in json functions
Date: 2017-10-26 16:23:00
Message-ID: CAB7nPqQRH7FHhSD5puwofo8--BnLrEKwy4Ctcn1k2_8Qx2ur5w@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Thu, Oct 26, 2017 at 5:18 AM, Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
> Argh! I see that in your v6 patch and I thought I'd caught all of it but
> apparently not for master and REL_10. I wonder how that happened?

I am fine to take the blame. Likely an M-c pushed in emacs..
--
Michael