Subject RE: [firebird-support] Re: FB 2.1 - new DB trigger feature with MON$ tables
Author Leyne, Sean
> >
> > 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.

I wasn't aware that the transaction context was 'dropped' when the
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