pgsql: In type_sanity, check I/O functions of built-in types are not vo

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: In type_sanity, check I/O functions of built-in types are not vo
Date: 2014-10-23 19:59:47
Message-ID: E1XhOXz-0007Uk-5m@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

In type_sanity, check I/O functions of built-in types are not volatile.

We have a project policy that I/O functions must not be volatile, as per
commit aab353a60b95aadc00f81da0c6d99bde696c4b75, but we weren't doing
anything to enforce that. In most usage the marking of the function
doesn't matter as long as its behavior is sane --- but I/O casts can
expose the marking as user-visible behavior, as per today's complaint
from Joe Van Dyk about contrib/ltree.

This test as such will only protect us against future errors in built-in
data types. To catch the same error in contrib or third-party types,
perhaps we should make CREATE TYPE complain? But that's a separate
issue from enforcing the policy for built-in types.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/43ac12c6e6e397fd9142ed908447eba32d3785b2

Modified Files
--------------
src/test/regress/expected/type_sanity.out | 49 +++++++++++++++++++++++++++++
src/test/regress/sql/type_sanity.sql | 32 +++++++++++++++++++
2 files changed, 81 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2014-10-23 22:59:21 Re: pgsql: Perform less setup work for AFTER triggers at transaction start.
Previous Message Tom Lane 2014-10-23 17:57:00 Re: pgsql: Perform less setup work for AFTER triggers at transaction start.