Re: proposal: jsonb_populate_array

From: Vik Fearing <vik(at)postgresfriends(dot)org>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Erik Rijkers <er(at)xs4all(dot)nl>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: proposal: jsonb_populate_array
Date: 2023-08-15 05:48:40
Message-ID: e69b0506-9e0b-75b3-46e9-753c0e4a5571@postgresfriends.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 8/14/23 15:37, Pavel Stehule wrote:
> po 14. 8. 2023 v 15:09 odesílatel Erik Rijkers <er(at)xs4all(dot)nl> napsal:
>
>> Op 8/14/23 om 14:51 schreef Pavel Stehule:> po 14. 8. 2023 v 11:32
>> odesílatel Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>> > with proposed function I can write
>> >
>> > select jsonb_populate_array(null:date[],
>> > '["2023-07-13","2023-07-14"]'::jsonb)
>> >
>> Not yet committed, but outstanding
>> SQL/JSON patches (v11) will let you do:
>>
>> select json_query(
>> '["2023-07-13", "2023-07-14"]'::jsonb
>> , '$' returning date[]
>> );
>> json_query
>> -------------------------
>> {2023-07-13,2023-07-14}
>> (1 row)
>>
>> That's (more or less) what you want, no?
>>
>
> Yes, the functionality is exactly the same, but still maybe for completeness
> the function json_populate_array can be nice.
>
> In old API the transformations between json and row/record types is well
> covered, but for array, only direction array->json is covered

I don't think we should be extending the old API when there are Standard
ways of doing the same thing. In fact, I would like to see the old way
slowly be deprecated.

> I think so this can be +/- 40 lines of C code

It seems to me like a good candidate for an extension.
--
Vik Fearing

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2023-08-15 05:53:33 Re: proposal: jsonb_populate_array
Previous Message Tatsuo Ishii 2023-08-15 05:46:24 Re: Using defines for protocol characters