Обсуждение: json_populate_recordset

Поиск
Список
Период
Сортировка

json_populate_recordset

От
Adrian Klaver
Дата:
 From here:

https://www.postgresql.org/docs/10/static/functions-json.html

select * from json_populate_record(null::myrowtype, '{"a": 1, "b": ["2", 
"a b"], "c": {"d": 4, "e": "a b c"}}')

What is the null::myrowtype doing?


Thanks,
-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: json_populate_recordset

От
Pavel Stehule
Дата:


2018-06-07 18:51 GMT+02:00 Adrian Klaver <adrian.klaver@aklaver.com>:
From here:

https://www.postgresql.org/docs/10/static/functions-json.html

select * from json_populate_record(null::myrowtype, '{"a": 1, "b": ["2", "a b"], "c": {"d": 4, "e": "a b c"}}')

What is the null::myrowtype doing?

this function uses polymorphic parameters - its some like

create or replace function fx(in anyelement, json) returns anyelement ..

output polymorphic value requires minimally one input polymorphic value for type specification. Postgres has not possibility to pass only datatype - so pattern null:type is used instead.

Regards

Pavel
 


Thanks,
--
Adrian Klaver
adrian.klaver@aklaver.com


Re: json_populate_recordset

От
Adrian Klaver
Дата:
On 06/07/2018 09:56 AM, Pavel Stehule wrote:
> 
> 
> 2018-06-07 18:51 GMT+02:00 Adrian Klaver <adrian.klaver@aklaver.com 
> <mailto:adrian.klaver@aklaver.com>>:
> 
>      From here:
> 
>     https://www.postgresql.org/docs/10/static/functions-json.html
>     <https://www.postgresql.org/docs/10/static/functions-json.html>
> 
>     select * from json_populate_record(null::myrowtype, '{"a": 1, "b":
>     ["2", "a b"], "c": {"d": 4, "e": "a b c"}}')
> 
>     What is the null::myrowtype doing?
> 
> 
> this function uses polymorphic parameters - its some like
> 
> create or replace function fx(in anyelement, json) returns anyelement ..
> 
> output polymorphic value requires minimally one input polymorphic value 
> for type specification. Postgres has not possibility to pass only 
> datatype - so pattern null:type is used instead.

Alright, so it is bootstrapping a polymorphic type off null. Thanks.

> 
> Regards
> 
> Pavel
> 
> 
> 
>     Thanks,
>     -- 
>     Adrian Klaver
>     adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com