Peter Eisentraut <peter_e@gmx.net> writes:
> When I create a table
> create table test (a bit(4));
> and insert a value
> insert into test values (b'1000000001');
> the zpbit_in() function gets an atttypmod (arg 2 (of 2)) of -1. Is there
> somewhere the system needs to be told that "this type uses the atttypmod
> field"?
No. I don't believe this is broken, either --- the call is coming from
make_const() which has no reason to try to coerce the constant to a
particular length. Coercion to the target column width will happen
later (quite a bit later), when zpbit() is called. See
coerce_type_typmod in parse_coerce.c.
regards, tom lane