BUG #1765: Referential Integrity Problem - Mailing list pgsql-bugs

From Herschel Hall
Subject BUG #1765: Referential Integrity Problem
Date
Msg-id 20050713131511.54933F0B16@svr2.postgresql.org
Whole thread Raw
Responses Re: BUG #1765: Referential Integrity Problem  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      1765
Logged by:          Herschel Hall
Email address:      herschel.hall@reedyriver.com
PostgreSQL version: 7..4
Operating system:   Linux
Description:        Referential Integrity Problem
Details:

I have a parent table T_b that contains a unique constraint and no primary
key. One of the columns (bk1) referenced in the unique constraint allows
nulls.

I have a child table T_c that has a foreign key that references the parent
table's unique constraint columns.

If I change the value of a column in one of the parent's (T_b's) unique
constraint columns, the change will cascade to the child (T_c) ONLY IF the
parent's constraint column that allows nulls, column bk1, IS NOT null.

I have a third table T_a that is the parent of T_b.  T_b has a foreign key
that references T_a's primary key. Changes in T_a cascade to T_b in all
cases.  However they do not cascade to T_c for cases where column bk1 is
null.

Here are table create scripts for the three tables.

CREATE TABLE "T_a"
(
  ak1 varchar(5) NOT NULL,
  CONSTRAINT pk1 PRIMARY KEY (ak1)
)
WITH OIDS;

CREATE TABLE "T_b"
(
  ak1 varchar(5) NOT NULL,
  bk1 varchar(5) NOT NULL,
  bk2 varchar(5),
  CONSTRAINT fk1 FOREIGN KEY (ak1) REFERENCES "T_a" (ak1) ON UPDATE CASCADE
ON DELETE CASCADE,
  CONSTRAINT cs1 UNIQUE (ak1, bk1, bk2)
)
WITH OIDS;

CREATE TABLE "T_c"
(
  ak1 varchar(5) NOT NULL,
  bk1 varchar(5) NOT NULL,
  ck1 varchar(5) NOT NULL,
  bk2 varchar(5),
  CONSTRAINT pkc1 PRIMARY KEY (ak1, bk1, ck1),
  CONSTRAINT fkc1 FOREIGN KEY (ak1, bk1, bk2) REFERENCES "T_b" (ak1, bk1,
bk2) ON UPDATE CASCADE ON DELETE CASCADE
)
WITH OIDS;

If you have any questions, please let me know.

best regards,
Herschel Hall

pgsql-bugs by date:

Previous
From: "john cecilio"
Date:
Subject: BUG #1764: newbie
Next
From: Alvaro Herrera
Date:
Subject: Re: BUG #1763: PAM Authentication not working...