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]
-----------------------------------------------------------------------------