diff options
author | Florian Bruhin <git@the-compiler.org> | 2017-11-28 06:53:41 +0100 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2017-11-28 07:05:15 +0100 |
commit | cfe7e7883ad2c5c88f88f31a1b453f51523123a6 (patch) | |
tree | 4558e2cb867abe42ae23383e1b0ff2c8f40bc5ec | |
parent | dfe74ff0ee5c661ede79d0b94b432ff9a8557807 (diff) | |
download | qutebrowser-cfe7e7883ad2c5c88f88f31a1b453f51523123a6.tar.gz qutebrowser-cfe7e7883ad2c5c88f88f31a1b453f51523123a6.zip |
Handle "out of memory" error in sql.init()
(cherry picked from commit 4fed8518e1d7212b4a63899572ee9de24b785c93)
-rw-r--r-- | qutebrowser/misc/sql.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py index f19de698f..bcc5bac82 100644 --- a/qutebrowser/misc/sql.py +++ b/qutebrowser/misc/sql.py @@ -72,7 +72,18 @@ class SqliteError(SqlError): '8', # SQLITE_READONLY '13', # SQLITE_FULL ] - self.environmental = error.nativeErrorCode() in environmental_errors + # At least in init(), we can get errors like this: + # type: ConnectionError + # database text: out of memory + # driver text: Error opening database + # error code: -1 + environmental_strings = [ + "out of memory", + ] + errcode = error.nativeErrorCode() + self.environmental = ( + errcode in environmental_errors or + (errcode == -1 and error.databaseText() in environmental_strings)) def text(self): return self.error.databaseText() |