-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use WAL by default #169
Comments
This shows that enabling WAL greatly reduces "database is locked" errors: #175 (comment). |
The PyPy tests are failing: _sqlite3.OperationalError: cannot commit transaction - SQL statements in progress This is most likely because Regardless, the CLI shows that enabling WAL is not supported within a transaction:
I am also not sure why we don't get the same error in Python. |
So, turns out the "cannot commit transaction - SQL statements in progress" PyPy error is because we should be explicitly closing cursors, and not relying on the GC to do so for us: https://bitbucket.org/pypy/pypy/issues/3080/sql-connection-error-cannot-commit In order to fix this regression, we need to at least explicitly close the cursors up to the PRAGMA statement (ideally, we should do all of them, but there's a lot). |
…n - SQL statements in progress" errors. For #169.
https://www.sqlite.org/wal.html
This is mainly to improve concurrency (although using a SQLite with HAVE_USLEEP would yield better results; TODO: mention this somewhere in the code).
It should be possible to turn it off via a storage argument (pending #168) for backwards compatibility.
The text was updated successfully, but these errors were encountered: