RE: Shouldn't ON UPDATE/DELETE triggers be BEFORE trigg ers?
От
Mikheev, Vadim
Тема
RE: Shouldn't ON UPDATE/DELETE triggers be BEFORE trigg
ers?
Дата
Msg-id
8F4C99C66D04D4118F580090272A7A234D3364@sectorbase1.sectorbase.com
Список
> While thinking over Jeremy Radlow's recent problem report in > pgsql-general, it occurs to me that it's probably wrong to implement > referential integrity actions like ON CASCADE DELETE in AFTER > triggers. Seems to me that this breaks the fundamental rule of > referential integrity: if B references A then there must always be > a matching A row for every B row. Therefore, if we delete a row from > A we should delete the matching B row(s) before, not after, we delete > from A. Otherwise the remainder of the transaction sees an illegal > state of the database. > > Comments? How about ON UPDATE actions? No - AFTER is right place where to do action: don't forget about DEFERRED RI constraints for which we have to perform check/action sometime later *after* we changed PK/FK rows. Vadim
В списке pgsql-hackers по дате отправления