Why are JSON extraction functions STABLE and not IMMUTABLE?

Поиск
Список
Период
Сортировка
От hubert depesz lubaczewski
Тема Why are JSON extraction functions STABLE and not IMMUTABLE?
Дата
Msg-id 20130415151656.GA16141@depesz.com
обсуждение исходный текст
Ответы Re: Why are JSON extraction functions STABLE and not IMMUTABLE?  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
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                   | sjson_out                  | ijson_recv
    | sjson_send                 | sarray_to_json             | sarray_to_json             | srow_to_json
|srow_to_json               | sjson_agg_transfn          | ijson_agg_finalfn          | ijson_agg                  |
ito_json                  | sjson_object_field         | sjson_object_field_text    | sjson_array_element        |
sjson_array_element_text  | sjson_extract_path         | sjson_extract_path_op      | sjson_extract_path_text    |
sjson_extract_path_text_op| sjson_array_elements       | sjson_array_length         | sjson_object_keys          |
sjson_each                | sjson_each_text            | sjson_populate_record      | sjson_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.

Best regards,

depesz

-- 
The best thing about modern society is how easy it is to avoid contact with it.
                  http://depesz.com/
 



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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: COPY and Volatile default expressions
Следующее
От: David Fetter
Дата:
Сообщение: Re: COPY and Volatile default expressions