summaryrefslogtreecommitdiff
path: root/qutebrowser/misc/sql.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/misc/sql.py')
-rw-r--r--qutebrowser/misc/sql.py27
1 files changed, 11 insertions, 16 deletions
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py
index dd33621f6..72474a9f4 100644
--- a/qutebrowser/misc/sql.py
+++ b/qutebrowser/misc/sql.py
@@ -65,7 +65,7 @@ class SqlError(Exception):
return self.error.databaseText()
-class SqlEnvironmentError(SqlError):
+class SqlKnownError(SqlError):
"""Raised on an error interacting with the SQL database.
@@ -74,11 +74,6 @@ class SqlEnvironmentError(SqlError):
"""
-class SqlLongQueryError(SqlError):
-
- """Raised when a query is too long."""
-
-
class SqlBugError(SqlError):
"""Raised on an error interacting with the SQL database.
@@ -88,7 +83,7 @@ class SqlBugError(SqlError):
def raise_sqlite_error(msg, error):
- """Raise either a SqlBugError or SqlEnvironmentError."""
+ """Raise either a SqlBugError or SqlKnownError."""
error_code = error.nativeErrorCode()
database_text = error.databaseText()
driver_text = error.driverText()
@@ -116,12 +111,12 @@ def raise_sqlite_error(msg, error):
driver_text == "Error opening database" and
database_text == "out of memory")
- if error_code in environmental_errors or qtbug_70506:
- raise SqlEnvironmentError(msg, error)
- if (error_code == SqliteErrorCode.ERROR and
- driver_text == "Unable to execute statement" and
- database_text.startswith("Expression tree is too large")):
- raise SqlLongQueryError(msg, error)
+ if ((error_code in environmental_errors or qtbug_70506) or
+ (error_code == SqliteErrorCode.ERROR and
+ driver_text == "Unable to execute statement" and
+ database_text.startswith("Expression tree is too large"))):
+ raise SqlKnownError(msg, error)
+
raise SqlBugError(msg, error)
@@ -129,8 +124,8 @@ def init(db_path):
"""Initialize the SQL database connection."""
database = QSqlDatabase.addDatabase('QSQLITE')
if not database.isValid():
- raise SqlEnvironmentError('Failed to add database. Are sqlite and Qt '
- 'sqlite support installed?')
+ raise SqlKnownError('Failed to add database. Are sqlite and Qt '
+ 'sqlite support installed?')
database.setDatabaseName(db_path)
if not database.open():
error = database.lastError()
@@ -158,7 +153,7 @@ def version():
close()
return ver
return Query("select sqlite_version()").run().value()
- except SqlEnvironmentError as e:
+ except SqlKnownError as e:
return 'UNAVAILABLE ({})'.format(e)