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.