confused about bit strings - Mailing list pgsql-hackers

From Neil Conway
Subject confused about bit strings
Date
Msg-id 1065634733.3423.21.camel@tokyo
Whole thread Raw
Responses Re: confused about bit strings
List pgsql-hackers
Is the following behavior intentional? If so, what's the reasoning
behind it?

nconway=# select 1::bit;bit 
-----0
(1 row)
nconway=# select '1'::bit;bit 
-----1
(1 row)
nconway=# select X'1'::bit;bit 
-----0
(1 row)
nconway=# select 1::bit varying;
ERROR:  cannot cast type integer to bit varying
nconway=# select 4::int2::bit;
ERROR:  cannot cast type smallint to bit

nconway=# select 4::bit;bit 
-----0
(1 row)
nconway=# select '4'::bit;
ERROR:  "4" is not a valid binary digit
nconway=# select X'4'::bit varying;varbit 
--------0100
(1 row)
-- why is that 4 bits, not 3?

nconway=# select '14'::int::bit;bit 
-----0
(1 row)
nconway=# select bit('14'::int);
ERROR:  syntax error at or near "'14'" at character 12
nconway=# select "bit"('14'::int);              bit                
----------------------------------00000000000000000000000000001110
(1 row)
-- shouldn't bit be equivalent to bit(1), which should be
right-truncated?

Cheers,

Neil



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: setlocale
Next
From: Bruce Momjian
Date:
Subject: Re: [PERFORM] Sun performance - Major discovery!