Re: FOR EACH STATEMENT triggers
От | Jan Wieck |
---|---|
Тема | Re: FOR EACH STATEMENT triggers |
Дата | |
Msg-id | 3EAED2CA.6A096E67@Yahoo.com обсуждение исходный текст |
Ответ на | FOR EACH STATEMENT triggers (Andreas Pflug <Andreas.Pflug@web.de>) |
Список | pgsql-hackers |
Andreas Pflug wrote: > > On Nov 14, Neil wrote: > > >>I'd like to implement FOR EACH STATEMENT triggers. AFAICS it shouldn't > >>be too tricky -- so if there's some show-stopper that prevented it > >>from being done earlier, let me know now, please :-) > > >>Some random notes on the implementation I'm thinking of: > > >> - in the function called by a per-statement trigger, no > >> references to the 'OLD' or 'NEW' rows will be allowed > > It appears that statement triggers are implemented this way right now in > CVS tip. Unfortunately, this means that there's no way to figure out the > record set that is covered by the triggering action, which I consider > being fundamental for a usable implementation. There should be new > references, > called OLDSET and NEWSET or something like that. Agreed. > > >> - should we allow per-statement BEFORE triggers? DB2 doesn't, > >> but I'm not sure that's because they just cut corners, or if > >> there's some legitimate reason not to allow them. AFAICT SQL > >> 200x doesn't specify that they *aren't* allowed, so I'm > >> inclined to allow them... > > MS SQL2000 has only AFTER STATEMENT triggers too, which seems to be > sufficient. Since BEFORE ROW triggers can modify or suppress the resulting changes, there is no way to have a BEFORE STATEMENT trigger if we also want NEWSET and OLDSET. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
В списке pgsql-hackers по дате отправления: