From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | depesz(at)depesz(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Why are JSON extraction functions STABLE and not IMMUTABLE? |
Date: | 2013-04-15 15:46:47 |
Message-ID: | 20130415154647.GA26219@awork2.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2013-04-15 15:49:10 | Re: COPY and Volatile default expressions |
Previous Message | Tom Lane | 2013-04-15 15:43:13 | Re: Why are JSON extraction functions STABLE and not IMMUTABLE? |