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?
cheers andrew -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
