Hi,
I found a bug in the current release.
I have 3 tables with these parameters (PGS Syntax):
CREATE TABLE EXAMPLE_CLASS_A3 (
ID BIGINT NOT NULL PRIMARY KEY DEFAULT nextval('serial'),
NAME VARCHAR(255)
);
CREATE TABLE EXAMPLE_CLASS_B3 (
ID BIGINT NOT NULL PRIMARY KEY DEFAULT nextval('serial'),
A_ID INTEGER NOT NULL UNIQUE,
NAME VARCHAR(255)
);
CREATE TABLE EXAMPLE_CLASS_C3 (
ID BIGINT NOT NULL PRIMARY KEY DEFAULT nextval('serial'),
B_ID INTEGER NOT NULL UNIQUE,
NAME VARCHAR(255)
);
I use these alters:
ALTER TABLE EXAMPLE_CLASS_B3
ADD CONSTRAINT FK_EXAMPLE_CLASS_B3_EXAMPLE_CLASS_B3_A_ID
FOREIGN KEY (A_ID)
REFERENCES EXAMPLE_CLASS_A3(ID)
ON DELETE CASCADE;
ALTER TABLE EXAMPLE_CLASS_C3
ADD CONSTRAINT FK_EXAMPLE_CLASS_C3_EXAMPLE_CLASS_C3_B_ID
FOREIGN KEY (B_ID)
REFERENCES EXAMPLE_CLASS_B3(ID)
ON DELETE NO ACTION;
Insert rows into the tables (a_id and b_id maybe different):
insert into example_class_a3 (name) values ('a3');
insert into example_class_b3 (name, a_id) values ('b3', 0);
insert into example_class_c3 (name, b_id) values ('c3', 1);
When I would like to delete from 'example_class_b3', I get constrain validation error as expected.
But when I delete from 'example_class_a3' table, the result is 'updated count 1' and my expectation is a constrain validation error. This worked in 2.3.2 release.
Thanks. Fixed and committed to SVN.