Hello,

I was wondering if someone can shed a bit of light on a problem I am having. I am using SQLite in a client setting on Mac and Windows. I have two threads. That I use SQLite in. The main thread uses this to get data and display it to screen. Then I have a worker or secondary thread that batch process many commands with a Transaction using BEGIN: and COMMIT:.

As the transaction happens on the second thread the main thread continues about it's business and displays information. This seems to work just fine...until COMMIT: is called. Once COMMIT is called I get database is locked and I am not able to proceed.

I am not a master of SQLite so I am not sure if this is expected behavior.

Here are some things I am doing that might be relevant.
- I have many temp tables that are created and can be opened at this time. - I am using my own built frameworks on the Mac and the default ones on Windows. I build this framework from the preprocessed Windows files. I set these C flags at compile time.
        -DTHREADSAFE=1 \
        -DSQLITE_THREAD_OVERRIDE_LOCK=-1 \
        -DOS_UNIX=1 \
        -DHAVE_USLEEP=1 \
        -DSQLITE_OMIT_CURSOR

I would expect SQLite to wait for the COMMIT to finish and then be able to use the data base just as before.

Am I missing something?

Thx,
Matt
tribalmedia




-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to