Ok, the problem is solved. Thanks for the support.

2016-02-03 13:13 GMT-02:00 Vin?cius da Silva <dsilva.vinicius at gmail.com>:

> I think I have discovered the problem. SQLiteManager::init( const string&
> dbFileName, const bool deleteDbFileFlag = true ) was deleting and
> recreating the database file for each new connection. That was probably
> corrupting SQLite state and a SQLITE_IOERR_DELETE_NOENT was correctly being
> returned at transaction ending, since the original file to write was
> replaced by another one. Some multithreaded tests are passing already. I
> will finish the tests to put the final verdict here.
>
> 2016-02-03 12:56 GMT-02:00 Vin?cius da Silva <dsilva.vinicius at gmail.com>:
>
>> With a single thread and two interleaved transactions, the tests hangs in
>> what seems a deadlock.
>>
>> 2016-02-03 12:21 GMT-02:00 Clemens Ladisch <clemens at ladisch.de>:
>>
>>> Vin?cius da Silva wrote:
>>> > Using BEGIN EXCLUSIVE TRANSACTION in place of BEGIN TRANSACTION does
>>> not
>>> > change the result
>>>
>>> I meant, try executing them so that they are guaranteed to conflict,
>>> like this:
>>>
>>>   db1.init("same_file");
>>>   db2.init("same_file");
>>>   db1.beginTransactionExclusive();
>>>   db2.beginTransactionExclusive();
>>>
>>>
>>> Regards,
>>> Clemens
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users at mailinglists.sqlite.org
>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>>>
>>
>>
>>
>> --
>> Best Regards,
>>
>> Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>,
>> Ph. D. Student.
>> PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br>
>>
>
>
>
> --
> Best Regards,
>
> Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>,
> Ph. D. Student.
> PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br>
>



-- 
Best Regards,

Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>,
Ph. D. Student.
PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br>

Reply via email to