Re: [GENERAL] Rounding incompatibility

2009-06-16 Thread Havasvölgyi Ottó
Yes, they are both your packages from your official site. So this means that
in 8.2 and in earlier versions the rounding is not the regular one.

Best regards,
Otto

2009/6/15 Dave Page dp...@pgadmin.org

 On Mon, Jun 15, 2009 at 3:33 PM, Tom Lanet...@sss.pgh.pa.us wrote:
  =?ISO-8859-1?Q?Havasv=F6lgyi_Ott=F3?= havasvolgyi.o...@gmail.com
 writes:
  I have found the following strangeness on Windows versions:
 
  Were your two versions built different ways (perhaps with different
  compilers)?  This comes down to what the system-supplied rint() function
  does.

 If they are our packages, then 8.2 was built with mingw/msys, and 8.3 with
 VC++.


 --
 Dave Page
 EnterpriseDB UK:   http://www.enterprisedb.com



[GENERAL] Rounding incompatibility

2009-06-15 Thread Havasvölgyi Ottó
Hi,

I have found the following strangeness on Windows versions:

create table round_test (id int primary key, value double precision);
insert into round_test(id, value) values(1, 1.5);
insert into round_test(id, value) values(2, -1.5);
insert into round_test(id, value) values(3, 3.5);
select round(value) from round_test;

psql 8.2.13 returns

2
-2
4

But psql 8.3.3 returns

1
-1
3

Trying more values it seems that 8.2 rounding works according to banker's
rounding rules.
Can you confirm this?
How can I avoid this incompatibility or perhaps bug?

Thanks,
Otto


Re: [GENERAL] Rounding incompatibility

2009-06-15 Thread Tom Lane
=?ISO-8859-1?Q?Havasv=F6lgyi_Ott=F3?= havasvolgyi.o...@gmail.com writes:
 I have found the following strangeness on Windows versions:

Were your two versions built different ways (perhaps with different
compilers)?  This comes down to what the system-supplied rint() function
does.

regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Rounding incompatibility

2009-06-15 Thread Gurjeet Singh
On Mon, Jun 15, 2009 at 4:28 PM, Havasvölgyi Ottó 
havasvolgyi.o...@gmail.com wrote:

 Hi,

 I have found the following strangeness on Windows versions:

 create table round_test (id int primary key, value double precision);
 insert into round_test(id, value) values(1, 1.5);
 insert into round_test(id, value) values(2, -1.5);
 insert into round_test(id, value) values(3, 3.5);
 select round(value) from round_test;

 psql 8.2.13 returns

 2
 -2
 4

 But psql 8.3.3 returns

 1
 -1
 3

 Trying more values it seems that 8.2 rounding works according to banker's
 rounding rules.
 Can you confirm this?
 How can I avoid this incompatibility or perhaps bug?


Posting the output  of 'select version()' from both the databases will help
blaming some distribution.

Best regards,
-- 
Lets call it Postgres

EnterpriseDB  http://www.enterprisedb.com

gurjeet[.sin...@enterprisedb.com
singh.gurj...@{ gmail | hotmail | indiatimes | yahoo }.com
Mail sent from my BlackLaptop device


Re: [GENERAL] Rounding incompatibility

2009-06-15 Thread Dave Page
On Mon, Jun 15, 2009 at 3:33 PM, Tom Lanet...@sss.pgh.pa.us wrote:
 =?ISO-8859-1?Q?Havasv=F6lgyi_Ott=F3?= havasvolgyi.o...@gmail.com writes:
 I have found the following strangeness on Windows versions:

 Were your two versions built different ways (perhaps with different
 compilers)?  This comes down to what the system-supplied rint() function
 does.

If they are our packages, then 8.2 was built with mingw/msys, and 8.3 with VC++.


-- 
Dave Page
EnterpriseDB UK:   http://www.enterprisedb.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general