Re: Trigger with WHEN clause (WIP)
От | Itagaki Takahiro |
---|---|
Тема | Re: Trigger with WHEN clause (WIP) |
Дата | |
Msg-id | 20091016095420.A193.52131E4D@oss.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Trigger with WHEN clause (WIP) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Trigger with WHEN clause (WIP)
|
Список | pgsql-hackers |
Tom Lane <tgl@sss.pgh.pa.us> wrote: > Itagaki Takahiro <itagaki.takahiro@oss.ntt.co.jp> writes: > > I think there is a benefit to provide WHEN cluase at least > > for compatibility with other DBMSs, even through we can move > > the expressions into the body of trigger functions. > > This seems to me to be a lot of code to accomplish nothing useful. > It will always be the case that any nontrivial logic has to be done > inside the trigger. And the compatibility argument is entirely > pointless given the lack of compatibility in the trigger function > itself. I see that WHEN cluase is not always needed, but I think there are several benefits to have it: * WHEN cluase is in SQL standard. * We could recheck trigger conditions when NEW tuple is modified. (not yet implemented in the patch, though) http://archives.postgresql.org/pgsql-hackers/2009-09/msg00286.php * As for compatibility, it is easy for typical users to move trigger bodies into a function, but they don't like to mergethe condition and the bodies into a function in my experience. * As for performance, I don't have any evidence. But there was a discussion about benefits of writing partitioning triggerfunction with C instead of PL/pgSQL. He said pgplsql is slow. http://archives.postgresql.org/pgsql-hackers/2008-12/msg01221.php Also, to separate trigger bodies and conditions are usefulwhen we write triggers in C because we don't have to recomplie the code. Regards, --- ITAGAKI Takahiro NTT Open Source Software Center
В списке pgsql-hackers по дате отправления: