Subject | Re: [Firebird-Architect] Autonomous Transaction Routines |
---|---|
Author | Nando Dessena |
Post date | 2007-11-01T17:41:44Z |
Adriano,
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
>> a) ability to execute only part of a trigger or SP in an autonomousA> ...
>> 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);
>>
>> c) ability to execute more than one SPs in the same autonomousA> This point is not wrong with routines, since one autonomous routine
>> transaction, without having to wrap them into a single calling SP.
>>
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