Finishing the COMMIT releases the file locks.

Rich Rattanni wrote:
I hope it isnt too wierd to reply to your own posts.... I just wanted
to follow up with I found the following post: "[SQLITE] thread
concurrency, inserts using transactions, bug?" The problem is multiple
begins causing deadlock, and drh suggests using "BEGIN IMMEDIATE" and
dealing with SQLITE_BUSY's.  Sound like this could be my problem, that
combined with a post about file locks being released after finalize
(which I am violating in my question 3 below, unless reset releases
file locks... that would be a wonder answer to know!)

Sorry for doing my homework after the fact.  I would still appreciate
everyone's 2 cents however.

Thanks,
Rich

On 9/25/07, Rich Rattanni <[EMAIL PROTECTED]> wrote:

I have an unusual problem where one database I access becomes, and
stays locked (any attempt to BEGIN, PREPARE, etc results in
SQLITE_BUSY).  I am at a loss after 5 hours of debugging to see where
I am, undoubtedly, screwing up.  The particular database houses system
operating parameters, and the Could anyone please clarify the
following concerns I am having...

1) Can any transaction that is autocommited be the root of my problem
(I only BEGIN/COMMIT for large transaction)

2) After finalizing a statement and closing a database pointer, can
the file still be locked?

3) Some places I reuse a database pointer and statement over and over,
I typically leave the sqlite3_stmt pointer alone, because most of the
time I just want to rebind some things and re-step the statement.  Can
this a problem?  I exhaust the statements (they return sqlite_done)...
is the lock released so that I can do writes or is it still shared?

Any small locking explanation (or better yet, an example explaining
what I could be doing wrong) would be appreciated.  I have gone
through the locking webpage at sqlite.org and all it did was confirm
that my problem was not too obvious to me.


Thanks in advance for any help,
Rich



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



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

Reply via email to