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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers