views:

133

answers:

0

I am looking at a SQLite database owned by a third party process. It appears locked and has a *-journal file. What I don't know, is if the lock is shared or exclusive.

I am hoping to read from the database even though it is currently locked by that other process. I will only ever read from the database.

Currently I fail at this. I get a SQLITE_BUSY return code as long as the third party process is running.

I have looked at sqlite3_busy_handler, but that does not appear to be the solution. From what I understand that only allows for implementing a retry mechanism. It doesn't seem to offer a way to just ignore the fact, that the database is locked.

How can I force SQLite into reading from that database?

BTW, I am currently using the FMDatabase API wrapper. This does not use sqlite3_busy_handler. It loops endlessly as long as it gets a SQLITE_BUSY return code.