Tom Lane wrote: > > Okay, I've extracted a reproducible test case from Warren's info: > > Setup: > > CREATE TABLE sis_user ( > sis_user_id INTEGER PRIMARY KEY, > last_visit DATETIME NOT NULL DEFAULT TEXT 'now'); > > CREATE TABLE session ( > session_key CHAR(40) PRIMARY KEY, > sis_user_id INTEGER NOT NULL REFERENCES sis_user(sis_user_id), > last_access_time DATETIME NOT NULL DEFAULT TEXT 'now'); > > CREATE RULE session_del AS ON DELETE TO session DO > UPDATE sis_user SET last_visit = OLD.last_access_time > WHERE OLD.sis_user_id = sis_user.sis_user_id; > > insert into sis_user values(1); > > In session 1, do: > > insert into session values('zzz', 1); > begin; > delete from session where session_key = 'zzz'; > > In session 2, do: > > delete from session where session_key = 'zzz'; > > Back to session 1: > > end;
Thanks for your quick fix as usual. BTW I have a question about this example. Session 2 deletes no row because *session 1* already deleted the rows but the session_del rule seems to be invoked. Is it a right behavior ? regards, Hiroshi Inoue ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster