Re: Why are JSON extraction functions STABLE and not IMMUTABLE?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Why are JSON extraction functions STABLE and not IMMUTABLE?
Дата
Msg-id 20130415154647.GA26219@awork2.anarazel.de
обсуждение исходный текст
Ответ на Re: Why are JSON extraction functions STABLE and not IMMUTABLE?  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: Why are JSON extraction functions STABLE and not IMMUTABLE?  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
On 2013-04-15 11:31:39 -0400, Andrew Dunstan wrote:
> 
> On 04/15/2013 11:16 AM, hubert depesz lubaczewski wrote:
> >In current 9.3, I see:
> >
> >$ select p.proname, p.provolatile from pg_proc p join pg_namespace n on p.pronamespace = n.oid where n.nspname =
'pg_catalog'and p.proname ~ 'json';
 
> >           proname          | provolatile
> >---------------------------+-------------
> >  json_in                   | s
> >  json_out                  | i
> >  json_recv                 | s
> >  json_send                 | s
> >  array_to_json             | s
> >  array_to_json             | s
> >  row_to_json               | s
> >  row_to_json               | s
> >  json_agg_transfn          | i
> >  json_agg_finalfn          | i
> >  json_agg                  | i
> >  to_json                   | s
> >  json_object_field         | s
> >  json_object_field_text    | s
> >  json_array_element        | s
> >  json_array_element_text   | s
> >  json_extract_path         | s
> >  json_extract_path_op      | s
> >  json_extract_path_text    | s
> >  json_extract_path_text_op | s
> >  json_array_elements       | s
> >  json_array_length         | s
> >  json_object_keys          | s
> >  json_each                 | s
> >  json_each_text            | s
> >  json_populate_record      | s
> >  json_populate_recordset   | s
> >(27 rows)
> >
> >Is there any particular reason extract functions
> >(object_field/array_element/...) can't be immutable?
> >
> >I can't readily imagine a situation where output of these functions would
> >change for different queries.
> >
> 
> Me either. It's an oversight, really. Unless there is any objection I'll
> change them toot sweet. What about the existing (as of 9.2) functions?

ISTM json_in, out, recv, send should also be immutable. array_to_json,
row_to_json et all can't be tho.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Why are JSON extraction functions STABLE and not IMMUTABLE?
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: COPY and Volatile default expressions