The following bug has been logged online: Bug reference: 1373 Logged by: Bazsi Email address: [EMAIL PROTECTED] PostgreSQL version: 7.2.2 Operating system: debian linux Description: constraints, rules Details:
I have the following four table: CREATE TABLE folder ( folderid SERIAL, name TEXT NOT NULL, parent INT4 NOT NULL, PRIMARY KEY (folderid), CONSTRAINT parent_ref FOREIGN KEY (parent) REFERENCES folder ON DELETE CASCADE ON UPDATE CASCADE ); INSERT INTO folder(name,parent) VALUES('root',1); CREATE RULE folder_root_cant_delete AS ON DELETE TO folder WHERE OLD.folderid=1 DO INSTEAD NOTHING; ---- CREATE TABLE item ( itemid SERIAL, name TEXT NOT NULL, parent INT4 NOT NULL, PRIMARY KEY (itemid) CONSTRAINT folder_ref FOREIGN KEY (parent) ON DELETE CASCADE ON UPDATE CASCADE ); INSERT INTO item(name,parent) VALUES('default',1); CREATE RULE item_default_cant_delete AS ON DELETE TO item WHERE OLD.itemid=1 DO INSTEAD NOTHING; -- CREATE TABLE menu ( menuid SERIAL, name TEXT NOT NULL, folderref INT4 DEFAULT 1, itemref INT4 DEFAULT 1, parent INT4 NOT NULL, PRIMARY KEY (menuid), CONSTRAINT m_folder_ref FOREIGN KEY (folderref) REFERENCES folder ON DELETE SET DEFAULT ON UPDATE CASCADE, CONSTRAINT m_item_ref FOREIGN KEY (itemref) REFERENCES item ON DELETE SET DEFAULT ON UPDATE CASCADE, CONSTRAINT m_parent_ref FOREIGN KEY (parent) REFERENCES menu ON DELETE CASCADE ON UPDATE CASCADE ); INSERT INTO menu(name,parent) VALUES('root',1); CREATE RULE menu_root_cant_delete AS ON DELETE TO menu WHERE OLD.menuid=1 DO INSTEAD NOTHING; ---- CREATE TABLE version ( versionid SERIAL, menuref INT4 NOT NULL, name TEXT NOT NULL, PRIMARY KEY (versionid), CONSTRAINT menu_ref FOREIGN KEY (menuref) REFERENCES menu ON DELETE CASCADE ON UPDATE CASCADE ); CREATE RULE menu_update AS ON UPDATE TO menu DO INSERT INTO version(name,menuref) VALUES(OLD.name,OLD.menuid); I insert a record into the "folder" table: INSERT INTO folder(name,parent) VALUES('teszt',1); If i want to delete this record from the folder table, then the server terminate abnormally (sigterm). If i not use the menu_update rule, then everything is OK. ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly