Thread: bug jdbc 7.2 ?

bug jdbc 7.2 ?

From
Stéphane Aubry
Date:
I think I have found a bug in the jdbc driver 7.2 that doesn't exist on the
7.3.

I have a table :

CREATE TABLE "t_contenu_item_devise" (       "cid_id" bigint NOT NULL,       "user_id_creation" bigint,
"date_edition"timestamp with time zone,       "date_creation" timestamp with time zone,       "guarantor_id" bigint,
  "itd_id" bigint NOT NULL,       "cnu_id" bigint NOT NULL,       "cid_valeur" numeric(12,2) NOT NULL,
"user_id_edition"bigint,       Constraint "t_contenu_item_devise_pkey" Primary Key ("cid_id") 
);

With constraint on another table (check foreign keys on insert)

CREATE CONSTRAINT TRIGGER "<unnamed>" AFTER INSERT OR UPDATE ON
"t_contenu_item_devise"  FROM "t_item_devise" NOT DEFERR
ABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins"
('<unnamed>', 't_contenu_item_devise', 't_it
em_devise', 'UNSPECIFIED', 'itd_id', 'itd_id');

Than I execute a query that must return me an error :

INSERT INTO t_contenu_item_devise VALUES (322000000663, 54009, '2002-10-25
21:06:22+02', '2002-10-25 21:06:22+02', 54, 37, 322000000033, 0.00, 54009);

The error is :

ERROR:  <unnamed> referential integrity violation - key referenced from
t_contenu_item_devise not found in t_contenu

Than I use a small test tools to execute my query in a loop (test.java)

And the jdbc sometimes send me an error and sometimes the number of row
executed (1 in the liste)...

1  error 1 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
2  1
3  error 3 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
4  error 4 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
5  1
6  error 6 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
7  1
8  error 8 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
9  error 9 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
10  1
11  error 11 ERROR:  <unnamed> referential integrity violation - key
referenced from t_contenu_item_devise not found in t_contenu
12


If I execute the same query via odbc more than one time I don't have this
error. With the pg73jdbc2.jar I don't have this error.
So the error seems to be from pg72jdbc2.jar...

I use psotgres 7.2.1 (rpm) in linux Red Hat 7.2 and sun jsdk 1.4.1.