Subject | RE: [firebird-support] Re: FB 2.1 - new DB trigger feature with MON$ tables |
---|---|
Author | Leyne, Sean |
Post date | 2008-04-10T17:52:39Z |
> >I wasn't aware that the transaction context was 'dropped' when the
> > If the transaction context is 'lost' then what is the purpose of
> > allowing Transaction triggers???
>
> Transaction context is not 'lost' per se. What is lost is a
> link between an active statement and its transaction and this
> is done when a statement fails, without any relationship to a
> commit/rollback. As you perhaps know, prepared but inactive
> statements are not bound to any particular transactions, such
> a linkage is performed upon the execute call. The link is
> destroyed when the statement ends its execution, either
> naturally or by exception. This is how the engine works since
> the very beginning and it has no dependencies with the
> monitoring tables or transaction-level triggers.
statement fails, but that seems quite natural.
I, now, also agree that what Paul was trying to do in the trigger was
not appropriate -- a statement has nothing to do with the rollback of a
transaction.
Though, I think his message does bring forward a new/interesting feature
request -- CREATE TRIGGER ... ON STATEMENT SUCCESS OR FAILURE
Personally, though, I would never recommend creating a trigger on
STATEMENT SUCCESS.
What do you think of this?
Sean