Re: proposal: jsonb_populate_array

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: proposal: jsonb_populate_array
Дата
Msg-id CAFj8pRDvwrB+jMaY-qXYL75Pk+mNQUSyNhAQ5EfqYeV2uHW83g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: proposal: jsonb_populate_array  (jian he <jian.universality@gmail.com>)
Список pgsql-hackers


út 15. 8. 2023 v 5:12 odesílatel jian he <jian.universality@gmail.com> napsal:
\df jsonb_populate_record
                                 List of functions
   Schema   |         Name          | Result data type | Argument data
types | Type
------------+-----------------------+------------------+---------------------+------
 pg_catalog | jsonb_populate_record | anyelement       | anyelement,
jsonb   | func
(1 row)

manual:
> anyelement  Indicates that a function accepts any data type.
> For the “simple” family of polymorphic types, the matching and deduction rules work like this:
> Each position (either argument or return value) declared as anyelement is allowed to have any specific actual data type, but in any given call they must all be the same actual type.

So jsonb_populate_record signature can handle cases like
jsonb_populate_record(anyarray, jsonb)? obviously this is a cast, it
may fail.
also if input is anyarray, so the output anyarray will have the same
base type as input anyarray.

It fails (what is expected - else be too strange to use function in name "record" for arrays)

 (2023-08-15 07:57:40) postgres=# select jsonb_populate_record(null::varchar[], '[1,2,3]');
ERROR:  first argument of jsonb_populate_record must be a row type

regards

Pavel

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Vik Fearing
Дата:
Сообщение: Re: [PATCH] Add function to_oct
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: ECPG Semantic Analysis