Re: [GENERAL] int8-datatype: possible bug - Mailing list pgsql-general

From Jelle Ruttenberg
Subject Re: [GENERAL] int8-datatype: possible bug
Date
Msg-id 199905071255.OAA23366@mail.neroc.nl
Whole thread Raw
Responses Re: [GENERAL] int8-datatype: possible bug  (Herouth Maoz <herouth@oumail.openu.ac.il>)
List pgsql-general
Hello José Soares,

thank you. I tried your testcase and all input was changed in the magical
value. The 'NOTICE' disappeared when I quoted the value, but the result
was all the same.

edahrecepten=> create table test(i8 int8);
CREATE
edahrecepten=> insert into test values(19980528112607 );
NOTICE:  Integer input '19980528112607' is out of range; promoted to float
INSERT 147055 1
edahrecepten=> select * from test;
                 i8
-------------------
9223091440198811892
(1 row)

edahrecepten=> insert into test values('19980528112607' );
INSERT 147056 1
edahrecepten=> select * from test;
                 i8
-------------------
9223091440198811892
9223091440198811892
(2 rows)

edahrecepten=> insert into test values('19980528112607'::int8);
INSERT 147057 1
edahrecepten=> select * from test;
                 i8
-------------------
9223091440198811892
9223091440198811892
9223091440198811892
(3 rows)

edahrecepten=> select version();
version
----------------------------------------------------
PostgreSQL 6.4.2 on mips-sgi-irix6.2, compiled by cc
(1 row)

So for the time being I use float8...

Jelle.

>Jelle Ruttenberg ha scritto:
>
>> Hello all,
>>
>> when I try to put a numeric 'timestamp' like 19980528112607 into an
>> int8-datatype I get the notice 'NOTICE:  Integer input '19980528112607'
>> is out of range; promoted to float' and the value is put in the database
>> as 9223091508918288644.
>> It doesn't matter if I change the value: it will allways be the magical
>> value 9223091508918288644.
>>
>> When I use the float8-datatype it all goes well.
>>
>> Is this a bug in PostgreSQL or has it something to do with
>> platform-specific limitations?
>>
>> Thanks,
>>
>> Jelle.
>>
>> PostgreSQL: 6.4.2
>> Platform: SGI IRIX 6.2. IP22
>>
>> --------------------------------------------------------------
>>                    NEROC Publishing Solutions
>>
>>                       Jelle Ruttenberg
>>
>> De Run 1131, 5503 LB Veldhoven    Phone  : +31-(0)40-2586641
>> P.O.Box 133, 5500 AC Veldhoven    Fax    : +31-(0)40-2541893
>> The Netherlands                   E-mail : ruttenberg@neroc.nl
>> --------------------------------------------------------------
>
>Let me try on v6.5beta1...
>
>prova=> create table test(i8 int8);
>CREATE
>prova=> insert into test values(19980528112607 );
>NOTICE:  Integer input '19980528112607' is out of range; promoted to float
>INSERT 145481 1
>prova=> insert into test values('19980528112607' );
>INSERT 145482 1
>prova=> insert into test values('19980528112607'::int8);
>INSERT 145483 1
>prova=> select * from test;
>            i8
>--------------
>19980528112607
>19980528112607
>19980528112607
>(3 rows)
>
>
>Seems that works fine. And now trying bounds...
>
>prova=> insert into test values(-9223372036854775808);
>NOTICE:  Integer input '9223372036854775808' is out of range; promoted to
>float
>ERROR:  Floating point conversion to int64 is out of range
>prova=> insert into test values('-9223372036854775808');
>INSERT 145486 1
>prova=> insert into test values(9223372036854775807);
>NOTICE:  Integer input '9223372036854775807' is out of range; promoted to
>float
>ERROR:  Floating point conversion to int64 is out of range
>prova=> insert into test values('9223372036854775807');
>INSERT 145487 1
>prova=> select * from test;
>                  i8
>--------------------
>      19980528112607
>      19980528112607
>      19980528112607
>-9223372036854775808
> 9223372036854775807
>(5 rows)
>
>
>It works if the data is enclosed with ''. :)
>
>prova=> select version();
>version
>-------------------------------------------------------------------
>PostgreSQL 6.5.0 on i586-pc-linux-gnulibc1, compiled by gcc 2.7.2.1
>(1 row)
>
>Jose'
>
>


--------------------------------------------------------------
                   NEROC Publishing Solutions

                      Jelle Ruttenberg

De Run 1131, 5503 LB Veldhoven    Phone  : +31-(0)40-2586641
P.O.Box 133, 5500 AC Veldhoven    Fax    : +31-(0)40-2541893
The Netherlands                   E-mail : ruttenberg@neroc.nl
--------------------------------------------------------------


pgsql-general by date:

Previous
From: darold
Date:
Subject: Re: [GENERAL] Restore from dump file: parse error
Next
From: José Soares
Date:
Subject: Re: [GENERAL] int8-datatype: possible bug