From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Clean up some inconsistencies in the volatility marking of |
Date: | 2010-07-29 20:09:34 |
Message-ID: | 20100729200934.2D3CD7541D5@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Clean up some inconsistencies in the volatility marking of various I/O
related functions. Per today's discussion, we will henceforth assume
that datatype I/O functions are either stable or immutable, never volatile.
(This implies in particular that domain CHECK constraint expressions shouldn't
be volatile, since domain_in executes them.) In turn, functions that execute
the I/O functions of arbitrary datatypes should always be labeled stable.
This affects the labeling of array_to_string, which was unsafely marked
immutable, and record_in, record_out, record_recv, record_send,
domain_in, domain_recv, which were over-conservatively marked volatile.
The array I/O functions were already marked stable, which is correct
per this policy but would have been wrong if we maintained domain_in
as volatile.
Back-patch to 9.0, along with an earlier fix to correctly mark cash_in
and cash_out as stable not immutable (since they depend on lc_monetary).
No catversion bump --- the implications of this are not currently
severe enough to justify a forced initdb.
Tags:
----
REL9_0_STABLE
Modified Files:
--------------
pgsql/src/include/catalog:
pg_proc.h (r1.571 -> r1.571.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h?r1=1.571&r2=1.571.2.1)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2010-07-29 20:11:48 | pgsql: Avoid using text_to_cstring() in levenshtein functions. |
Previous Message | Tom Lane | 2010-07-29 20:09:26 | pgsql: Clean up some inconsistencies in the volatility marking of |