Re: BUG #1135: integer::bit returns incorrect results

From: elein <elein(at)varlena(dot)com>
To: elein <elein(at)varlena(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1135: integer::bit returns incorrect results
Date: 2004-04-18 19:40:26
Message-ID: 20040418124026.I21280@cookie.varlena.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

It may be that the cast is taking the high bit and not
the low bit. I would have thought it went the other way.

On Sun, Apr 18, 2004 at 04:04:08PM -0300, PostgreSQL Bugs List wrote:
>
> The following bug has been logged online:
>
> Bug reference: 1135
> Logged by: elein
>
> Email address: elein(at)varlena(dot)com
>
> PostgreSQL version: 7.4
>
> Operating system: SuSE
>
> Description: integer::bit returns incorrect results
>
> Details:
>
>
> * There exists a cast utils/adt.c/bitfromint4()
> in pg_casts listed to cast an integer to a bit.
>
> This cast seems to always set the value to 0.
> On cursory glance bitfromint4 seems right, but
> the shortcut shifting could be wrong. (Why isn't
> just the low bit set?).
>
> If I have time, I'll look more carefully, and
> perhaps submit a patch unless someone gets to
> it before I do.
>
> * There is no cast from an integer to a bit varying.
>
> If there exists a cast from integer to bit (in question :-)
> there should be one from integer to bit varying.
> It should be a straight copy.
>
> These all return 0.
> select 1::bit;
> select 2::bit;
> select 111::bit;
> select 101::bit;
>
> elein=# select 1::bit varying;
> ERROR: cannot cast type integer to bit varying
>
>
> Side note: the text string cast to bit and bit varying
> works fine and the digits are limited to 1s and 0s.
> But that should not be how integer to bit/bit varying should
> work.
>
> elein=# select '101'::bit;
> bit
> -----
> 1
> (1 row)
>
> elein=# select '2'::bit;
> ERROR: "2" is not a valid binary digit
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2004-04-18 22:00:38 Re: BUG #1135: integer::bit returns incorrect results
Previous Message PostgreSQL Bugs List 2004-04-18 19:04:08 BUG #1135: integer::bit returns incorrect results