Thread: BUG #2040: buggy cast of INT8 to text

BUG #2040: buggy cast of INT8 to text

From
"Sebastien MAYER"
Date:
The following bug has been logged online:

Bug reference:      2040
Logged by:          Sebastien MAYER
Email address:      sebastien.mayer@briosoft.com
PostgreSQL version: 8.04
Operating system:   Linux Fedora core 4
Description:        buggy cast of INT8 to text
Details:

in plpgsql :
declare
     var_text   text;
     var_int8   INT8;
begin
   var_int8 := 123456;
-- next line give some strange result... but not always
   var_text := 'the value of var_int8 is ' || var_int8;
....

end;
I wrote a small b_bigint_to_text(int8) returns text
and will use it until i see some fix on this.
More generally, the oid, wich is int4 does not fit the currval, nextvall etc
wich returns int8. Since you moved the serial concept from 32 bits to 64
bits (which look good to me), you still have old 32 bits style functions and
variable (oid !) mixed with the new 64 bits concept.
But, i thanks you everyday of my programmer life anyway !!!!!
seb

Re: BUG #2040: buggy cast of INT8 to text

From
Tom Lane
Date:
"Sebastien MAYER" <sebastien.mayer@briosoft.com> writes:
> -- next line give some strange result... but not always
>    var_text := 'the value of var_int8 is ' || var_int8;

Couldn't duplicate a problem here ... you need to give a reproducible
test case if you want anyone to look into this.

            regards, tom lane