mercredi 20 mai 2015

What makes an SQLite table locked when the database is first opened?

Under what circumstances can a table be locked when the database is first opened?

My program does:

DROP TABLE IF EXISTS
CREATE TABLE
INSERT INTO (multiple times)
SELECT * (for each row)

Run it once and it works perfectly. Run it twice and the DROP TABLE triggers the error:

SQLITE_LOCKED, database table is locked

Delete the database and run it again and it works. Just once.

Nothing in the documentation tells me how a table can be locked when the database is first opened. I'm using the raw C interface on Windows, so what can I be doing wrong?

Aucun commentaire:

Enregistrer un commentaire