Re: Foreign key trigger timing bug?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Foreign key trigger timing bug?
Дата
Msg-id 5768.1134093213@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Foreign key trigger timing bug?  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Ответы Re: Foreign key trigger timing bug?  (Jan Wieck <JanWieck@Yahoo.com>)
Список pgsql-hackers
Stephan Szabo <sszabo@megazone.bigpanda.com> writes:
> Yeah.  I really don't understand it, but it appears to me to be explicitly
> different in the spec for on delete cascade even compared to the rest of
> the referential actions.

>> One problem I see is, what do we do if the BEFORE
>> trigger then returns NULL (to skip the delete). The cascaded operations
>> are already done. Do we have to execute the cascaded deletes in a
>> subtransaction or do we disallow the skip in this case?

> I think we'd have disallow skipping.  Especially since skipping would
> probably end up with a violated constraint.

That seems to me to be a sufficient reason to not follow the spec in
this respect.  A BEFORE trigger should be run BEFORE anything happens,
full stop.  I can't think of any good reason why the spec's semantics
are better.  (It's not like our triggers are exactly spec-compatible
anyway.)
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Another encoding issue
Следующее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: Improving free space usage (was: Reducing relation locking overhead)