Table constraints and INSERT - Mailing list pgsql-sql

From Risto Tamme
Subject Table constraints and INSERT
Date
Msg-id E763584E741976409B9F835B475B00FC1A5353@pe2850.EKTACO.local
Whole thread Raw
Responses Re: Table constraints and INSERT
List pgsql-sql
Hello

I use PostgreSQL in my program and I found a strange behavior, at least
for me.

I have a simple table with constraint

CREATE TABLE "PART"
( "P_PARTKEY" int4 NOT NULL, "P_RETAILPRICE" numeric, CONSTRAINT "PART_PRIMARY" PRIMARY KEY ("P_PARTKEY"), CONSTRAINT
"PART_check"CHECK ("P_RETAILPRICE" = (90000 + "P_PARTKEY" 
/ 10 + "P_PARTKEY" / 100)
);

And I try to insert a row:
INSERT INTO "PART" ("P_PARTKEY","P_RETAILPRICE") VALUES(999,90109.89);

but it fails: ERROR:  new row for relation "PART" violates check
constraint "PART_check"

When you check using your head or pocket calculator then this INSERT
seems to be correct. Is it some floating point mystery?
Is there some trick?
I'm using version 8.0.1 for Windows.

With thanks, Risto


pgsql-sql by date:

Previous
From: Emi Lu
Date:
Subject: Re: Find min and max values across two columns?
Next
From: Kis János Tamás
Date:
Subject: Database OID