Subject Re: [Firebird-Architect] Autonomous Transaction Routines
Author Nando Dessena
Adriano,

>> a) ability to execute only part of a trigger or SP in an autonomous
>> transaction;
>>
>> b) ability to execute an anonymous block in an autonomous transaction
>> (admittedly not terribly useful, if not to avoid the need to process
>> COMMIT and ROLLBACK on the client for simple scripts);
>>
A> ...
>> c) ability to execute more than one SPs in the same autonomous
>> transaction, without having to wrap them into a single calling SP.
>>
A> This point is not wrong with routines, since one autonomous routine
A> could call a non-autonomous procedure and the second one will run inside
A> the same transaction of the caller.

Yes; my point was that in your scenario you'd need to create this
calling SP if you didn't have it already.

Now that I think of it...

d) ability to reuse the same SP in both classic (client-initiated) and
autonomous transactions (without having to write wrappers).

A> This one is more powerful and don't require ODS changes or client
A> changes (metadata extraction).

A> But if we go this way, we need to be more careful at implementation
A> details, for example cursors should not be allowed to be accessed in two
A> different transactions, I suppose.

Yes, implementation might be trickier. BTW, have you looked at other
implementations, such as Oracle's?
--
Nando Dessena