diff options
Diffstat (limited to 'qutebrowser/misc/sql.py')
-rw-r--r-- | qutebrowser/misc/sql.py | 27 |
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) |