James Robinson <jlrobins(at)socialserve(dot)com> writes:
> insert into simple_table values (null, '(43)'); -- GRR works!!! It'll
> let any smallint in. What happened to the constraint?
The composite-type input routine doesn't check any constraints ...
and that includes domains. You can make it work if you don't use
a composite literal:
egression=# insert into simple_table values (null, row(43));
ERROR: value for domain "simple" violates check constraint "limits"
Obviously this whole area needs improvement. Domain constraints in
particular fail to be enforced in many places where they should be,
such as plpgsql variables.
regards, tom lane