zpbit_in does not receive correct atttypmod

Started by Peter Eisentrautover 24 years ago2 messages
#1Peter Eisentraut
peter_e@gmx.net

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"?

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: zpbit_in does not receive correct atttypmod

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