BUG #8175: Check constraint fails for valid data. ( rounding related? ) - Mailing list pgsql-bugs

From dan.libby@gmail.com
Subject BUG #8175: Check constraint fails for valid data. ( rounding related? )
Date
Msg-id E1UexMP-0006so-A5@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #8175: Check constraint fails for valid data. ( rounding related? )  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      8175
Logged by:          Dan Libby
Email address:      dan.libby@gmail.com
PostgreSQL version: 9.1.6
Operating system:   Linux  ( Ubuntu 12.04 )
Description:        =


-- Try this script --

create table test1 (
  val1 numeric(23,8),
  val2 numeric(23,8),
  product numeric(23,8) check( product =3D val1 * val2 )
);

select (2.23567567*3.70000000)::numeric(23,8);
insert into test1 values ( 3.70000000, 2.23567567, 8.27199998 );
insert into test1 values ( 3.70000000, 2.23567567, 2.23567567*3.70000000 );
insert into test1 values ( 3.70000000, 2.23567567,
(2.23567567*3.70000000)::numeric(23,8) );


-- Actual Results --

select (2.23567567*3.70000000)::numeric(23,8);
numeric | 8.27199998

btcx=3D# insert into test1 values ( 3.70000000, 2.23567567, 8.27199998 );
ERROR:  new row for relation "test1" violates check constraint
"test1_check"
btcx=3D# insert into test1 values ( 3.70000000, 2.23567567,
2.23567567*3.70000000 );
ERROR:  new row for relation "test1" violates check constraint
"test1_check"
btcx=3D# insert into test1 values ( 3.70000000, 2.23567567,
(2.23567567*3.70000000)::numeric(23,8) );
ERROR:  new row for relation "test1" violates check constraint
"test1_check"


-- Expected Results --

All values should be inserted successfully.

pgsql-bugs by date:

Previous
From: polobo@yahoo.com
Date:
Subject: BUG #8174: Ownership reassigned public schema restored with postgres as owner
Next
From: lalbin@fhcrc.org
Date:
Subject: BUG #8173: Inserting heap tuples in bulk in COPY patch return wrong line on failure 999 out of 1000 times.