I wrote:
> BTW, the situation on the input side is a bit different: record_in is
> volatile because domain_in is, and I think we'd better leave that alone
> since it's not too hard to believe that a domain might have volatile
> CHECK expressions.  If we had arrays of domains, anyarray_in would have
> to be volatile too, but we don't and it isn't.

Oh, wait: we have arrays of composites now, and a composite could
contain a domain.  So that's wrong too; anyarray_in had better be marked
volatile.  In general it seems that the coding rules need to be:

* if you depend on an arbitrary type output function, assume it's stable.

* if you depend on an arbitrary type input function, assume it's volatile.

* similarly for binary send/receive functions.

Or we could decide that volatile domain CHECK expressions are un-sensible
and just relabel all these input functions as stable, which would make
everything consistent.  Thoughts?

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to