Thread: 7.3b2 ?bug? bitfromint4 is not working

7.3b2 ?bug? bitfromint4 is not working

From
Neophytos Demetriou
Date:
Hi,

I must be missing something obvious here but it seems that bitfromint4 
is not working under 7.3b2. I can still see bitfromint4 in the source 
code, utils/adt/varbit.c, but it is no longer working. Any ideas why?

Best wishes,
Neophytos

PS. It is also not working with the latest CVS checkout.



Re: 7.3b2 ?bug? bitfromint4 is not working

From
Tom Lane
Date:
Neophytos Demetriou <k2pts@cytanet.com.cy> writes:
> I must be missing something obvious here but it seems that bitfromint4 
> is not working under 7.3b2. I can still see bitfromint4 in the source 
> code, utils/adt/varbit.c, but it is no longer working. Any ideas why?

It's still there:

regression=# select "bit"(42);              bit
----------------------------------00000000000000000000000000101010
(1 row)

However, it's not listed in pg_cast :-(

regression=# select cast(42 as bit);
ERROR:  Cannot cast type integer to bit

Looking at the CVS logs, this seems to be caused by overlapping changes.
On 4-Aug Thomas renamed bittoint4 and bitfromint4 to match the more
usual naming conventions for cast functions, viz int4(bit) and
bit(int4), and he also added int8(bit) and bit(int8).  This was after
Peter had trolled the catalogs for cast functions and created the
initial contents of pg_cast.h (on 18-Jul).

Upshot: we have here four functions that ought to be in pg_cast and are
not.

Is it worth an initdb for 7.3b3 to fix this?  I think we were already
considering forcing one for the command-tag issues, otherwise I'd
probably vote "no".  Comments?
        regards, tom lane


Re: 7.3b2 ?bug? bitfromint4 is not working

From
Bruce Momjian
Date:
> Is it worth an initdb for 7.3b3 to fix this?  I think we were already
> considering forcing one for the command-tag issues, otherwise I'd
> probably vote "no".  Comments?

Do we need an initdb to fix command tags?  I thought that was just a
change in the Query structure.

---------------------------------------------------------------------------

Tom Lane wrote:
> Neophytos Demetriou <k2pts@cytanet.com.cy> writes:
> > I must be missing something obvious here but it seems that bitfromint4 
> > is not working under 7.3b2. I can still see bitfromint4 in the source 
> > code, utils/adt/varbit.c, but it is no longer working. Any ideas why?
> 
> It's still there:
> 
> regression=# select "bit"(42);
>                bit
> ----------------------------------
>  00000000000000000000000000101010
> (1 row)
> 
> However, it's not listed in pg_cast :-(
> 
> regression=# select cast(42 as bit);
> ERROR:  Cannot cast type integer to bit
> 
> Looking at the CVS logs, this seems to be caused by overlapping changes.
> On 4-Aug Thomas renamed bittoint4 and bitfromint4 to match the more
> usual naming conventions for cast functions, viz int4(bit) and
> bit(int4), and he also added int8(bit) and bit(int8).  This was after
> Peter had trolled the catalogs for cast functions and created the
> initial contents of pg_cast.h (on 18-Jul).
> 
> Upshot: we have here four functions that ought to be in pg_cast and are
> not.
> 
> Is it worth an initdb for 7.3b3 to fix this?  I think we were already
> considering forcing one for the command-tag issues, otherwise I'd
> probably vote "no".  Comments?
> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: 7.3b2 ?bug? bitfromint4 is not working

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Do we need an initdb to fix command tags?  I thought that was just a
> change in the Query structure.

A change in Query struct breaks stored rules.  Looks like initdb
material to me ...
        regards, tom lane


Re: 7.3b2 ?bug? bitfromint4 is not working

From
Bruce Momjian
Date:
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Do we need an initdb to fix command tags?  I thought that was just a
> > change in the Query structure.
> 
> A change in Query struct breaks stored rules.  Looks like initdb
> material to me ...

Oh, I forgot about stored rules.  Yep, that would cause it.  Not sure if
fixing rule return is a valid initdb reason, but with the 'bit' type
problem, seems it would be worth while.  I am going to post in a few
minutes about a push to get all those open items wrapped up.  I think we
are drifting.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073