Neil Conway <neilc@samurai.com> writes:
> For #2, I'm not sure where the right place to check domain constraints
> is. I was thinking about adding the check to the fmgr function call
> logic[1], but the domain checking code needs an ExprContext in which to
> evaluate the constraint, which wouldn't easily be accessible.
I'd go with making the PLs do it. fmgr is a very low logical level and
it's inappropriate for it to even know what a domain is. As an example
of the problems you will run into: how is fmgr going to find out whether
the target type is a domain, much less what its constraints are? It
can't assume that it's running inside a transaction, or even that the
system catalog access machinery is alive yet.
regards, tom lane