Robert Perry <rlperry@lodestonetechnologies.com> writes:
> It looks like the data is not checked when passed to the
> function and from their on out since it is already the correct type
> it is not checked again. Has anyone else seen something like this?
IIRC, plpgsql does not know anything about domains and does not enforce
domain constraints when assigning to local variables or the function
result. The same is true of the other PLs, though I think it could only
matter for the function result in those cases (internal variables aren't
of SQL types anyway for them). You could probably work around this by
writing explicit casts to the domain inside the function, eg
"RETURN x::domain" not just "RETURN x".
I thought the unfinished work for domains was mentioned on the TODO list
but I don't see anything about it right now.
regards, tom lane