diff --git a/python/plugins/db_manager/db_plugins/connector.py b/python/plugins/db_manager/db_plugins/connector.py index 71bb8fda86c..8efb4a23629 100644 --- a/python/plugins/db_manager/db_plugins/connector.py +++ b/python/plugins/db_manager/db_plugins/connector.py @@ -25,7 +25,7 @@ from PyQt4.QtGui import * from qgis.core import QgsDataSourceURI -from .plugin import DbError, ConnectionError +from .plugin import BaseError, DbError, ConnectionError class DBConnector: def __init__(self, uri): @@ -75,10 +75,10 @@ class DBConnector: try: cursor.execute(unicode(sql)) - except self.connection_error_types(), e: + except self.connection_error_types() as e: raise ConnectionError(e) - except self.execution_error_types(), e: + except self.execution_error_types() as e: # do the rollback to avoid a "current transaction aborted, commands ignored" errors self._rollback() raise DbError(e, sql) diff --git a/python/plugins/db_manager/db_plugins/postgis/connector.py b/python/plugins/db_manager/db_plugins/postgis/connector.py index 8752b9890fb..e92500e4771 100644 --- a/python/plugins/db_manager/db_plugins/postgis/connector.py +++ b/python/plugins/db_manager/db_plugins/postgis/connector.py @@ -866,7 +866,7 @@ class PostGisDBConnector(DBConnector): def execution_error_types(self): - return psycopg2.Error, psycopg2.ProgrammingError + return psycopg2.Error, psycopg2.ProgrammingError, psycopg2.Warning def connection_error_types(self): return psycopg2.InterfaceError, psycopg2.OperationalError diff --git a/python/plugins/db_manager/db_plugins/spatialite/connector.py b/python/plugins/db_manager/db_plugins/spatialite/connector.py index 02c90431347..1bb4e9f863b 100644 --- a/python/plugins/db_manager/db_plugins/spatialite/connector.py +++ b/python/plugins/db_manager/db_plugins/spatialite/connector.py @@ -554,7 +554,7 @@ class SpatiaLiteDBConnector(DBConnector): def execution_error_types(self): - return sqlite.Error, sqlite.ProgrammingError + return sqlite.Error, sqlite.ProgrammingError, sqlite.Warning def connection_error_types(self): return sqlite.InterfaceError, sqlite.OperationalError diff --git a/python/plugins/db_manager/dlg_sql_window.py b/python/plugins/db_manager/dlg_sql_window.py index 53f9a604235..640ec7f9c87 100644 --- a/python/plugins/db_manager/dlg_sql_window.py +++ b/python/plugins/db_manager/dlg_sql_window.py @@ -196,7 +196,7 @@ class DlgSqlWindow(QDialog, Ui_Dialog): c = connector._execute(None, sql) cols = connector._get_cursor_columns(c) - except (BaseError, Warning) as e: + except BaseError as e: QApplication.restoreOverrideCursor() DlgDbError.showError(e, self) return