[Lazarus] SQLDB - Can't attach second SQLite database because transaction

Michael Van Canneyt michael at freepascal.org
Mon Jan 7 22:59:41 CET 2013



On Mon, 7 Jan 2013, Sven Barth wrote:

> On 07.01.2013 20:03, Michael Van Canneyt wrote:
>>>>> - Some statements end implicitly a transaction. Ex:
>>>>> http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html or all
>>>>> oracle DDL statements. sqldb is not aware that the transaction is
>>>>> terminated and its state doesn't match the db state.
>>>>> - You can't make a method for every database command that has to run
>>>>> outside a transaction.
>>>> 
>>>> Why not ?
>>>> 
>>> Of course you can when you have all the time of the world. A method
>>> that bypasses sql transaction control covers all cases once it is
>>> released. Any custom connector method is trunk first and then wait for
>>> next release to get it "production ready".
>> 
>> Eh ? That is the same for the bypass ?
>> 
>
> As far as I understand it: the bypass could "immediately" be used for any 
> affacted SQL command once trunk is released (or the fixes version with that 
> bypass applied). If however in the other approach some commands are forgotten 
> the user has to wait again until the next version is released.

Ah yes.

Good point, had not though of that. Well, let's add the bypass then. 
Just need to figure out what to do with Firebird, since it needs transactions.
Probably temporarily creating one and committing it at the end will do.

Michael.




More information about the Lazarus mailing list