Subject | Re: [Firebird-Architect] RFC: External Engine API |
---|---|
Author | Adriano dos Santos Fernandes |
Post date | 2007-12-10T15:42:51Z |
Vlad Khorsun escreveu:
JDBC Connection.
We create a method Attachment::startTransaction...
clients components do it.
I suppose COMMIT/ROLLBACK in the server could work with savepoints, to
not change user transaction.
Adriano
>> Attachment and Transaction will be equivalent to Connection.No, and that is the reason to have Attachment and Transaction instead of
>>
>
> Why ? Are you going to disable multiply active transaction at one
> attachment ?
>
JDBC Connection.
We create a method Attachment::startTransaction...
> ...I didn't reviewed it yet. Do it means something is passed in the DPB/TPB?
>
>>> There's one issue with such model - it requires TLS in plugin.
>>>
>> Where you see TLS required? All handles are accessible via structures
>> passed by the engine to the plugin.
>> Way to obtain connection and transaction handle is encapsulated inside
>> ExternalContext.
>>
>>
>>> I like Vlad's idea of having special DPB/TPB parameters for a current
>>> attachment/transaction more attractive. Do you have any objections to it?
>>>
>> AFAIU, this requires TLS.
>>
>
> It is implemented in B2_1_ExecStmt branch and not requires TLS.
>
>But ISC API only closes transaction with commit or rollback, and current
>> But I have no problem to have this, also it's in my plans to have it.
>> It makes connection to database automatically usable in Delphi, for example.
>>
>> For the transaction obtained via special TPB, what should be the
>> behavior of COMMIT and ROLLBACK? Should it act in a savepoint?
>>
>
> It is not allowed as transaction must be finished where it was started.
> I.e. if client application started transaction - client application must finish it.
> Another DBMS's may have own behavior, but in FB\IB it always worked
> this way.
clients components do it.
I suppose COMMIT/ROLLBACK in the server could work with savepoints, to
not change user transaction.
Adriano