diff options
author | Brad Smith <bradster@infinitewarp.com> | 2023-02-27 11:07:52 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2023-03-16 06:41:14 -0400 |
commit | 86deccd8e643f7f7ddf60ecd8311e71ecb0d4e09 (patch) | |
tree | 6cbf00ecab943a8a566a2339356cc90b81c4496f /coverage/sqldata.py | |
parent | 021a99f3f50eca77abb85e2f25f26af65ad06128 (diff) | |
download | python-coveragepy-git-86deccd8e643f7f7ddf60ecd8311e71ecb0d4e09.tar.gz |
fix: Use "journal_mode=memory" if "journal_mode=off" fails.
Diffstat (limited to 'coverage/sqldata.py')
-rw-r--r-- | coverage/sqldata.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py index 42cf4501..3e47b4d8 100644 --- a/coverage/sqldata.py +++ b/coverage/sqldata.py @@ -1133,6 +1133,11 @@ class SqliteDb(AutoReprMixin): # PyPy needs the .close() calls here, or sqlite gets twisted up: # https://bitbucket.org/pypy/pypy/issues/2872/default-isolation-mode-is-different-on self.execute_void("pragma journal_mode=off") + if self.execute_one("pragma journal_mode") != "off": + # Some instances of Sqlite refuse to disable journal mode. + # Switching to memory mode prevents journal files from being written, + # even though we lose performance with unecessary rollback protection. + self.execute_void("pragma journal_mode=memory") # This pragma makes writing faster. self.execute_void("pragma synchronous=off") |