diff --git a/plugins/dbms/access/connector.py b/plugins/dbms/access/connector.py index b2d5831b8..712e9e921 100644 --- a/plugins/dbms/access/connector.py +++ b/plugins/dbms/access/connector.py @@ -45,7 +45,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() try: @@ -89,4 +92,5 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/dbms/firebird/connector.py b/plugins/dbms/firebird/connector.py index 9c4d5288f..7cdc56797 100644 --- a/plugins/dbms/firebird/connector.py +++ b/plugins/dbms/firebird/connector.py @@ -43,7 +43,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() try: @@ -83,3 +86,4 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/dbms/mysql/connector.py b/plugins/dbms/mysql/connector.py index 2e023b163..4f2f3f6c9 100644 --- a/plugins/dbms/mysql/connector.py +++ b/plugins/dbms/mysql/connector.py @@ -47,7 +47,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() try: @@ -87,3 +90,4 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/dbms/oracle/connector.py b/plugins/dbms/oracle/connector.py index 9e5ec611f..51e865c4d 100644 --- a/plugins/dbms/oracle/connector.py +++ b/plugins/dbms/oracle/connector.py @@ -46,7 +46,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() self.__dsn = cx_Oracle.makedsn(self.hostname, self.port, self.db) @@ -91,3 +94,4 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/dbms/postgresql/connector.py b/plugins/dbms/postgresql/connector.py index 68555525f..f050be1de 100644 --- a/plugins/dbms/postgresql/connector.py +++ b/plugins/dbms/postgresql/connector.py @@ -46,7 +46,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() try: @@ -86,3 +89,4 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/dbms/sqlite/connector.py b/plugins/dbms/sqlite/connector.py index 3d271d7a9..68b9f2888 100644 --- a/plugins/dbms/sqlite/connector.py +++ b/plugins/dbms/sqlite/connector.py @@ -47,7 +47,10 @@ class Connector(GenericConnector): def __init__(self): GenericConnector.__init__(self) - def connect(self): + def connect(self, reuse=True): + if reuse and self.connector: + return + self.initConnection() try: @@ -87,3 +90,4 @@ class Connector(GenericConnector): def close(self): self.cursor.close() self.connector.close() + self.closed() diff --git a/plugins/generic/connector.py b/plugins/generic/connector.py index a905d7ead..9f6dc852a 100644 --- a/plugins/generic/connector.py +++ b/plugins/generic/connector.py @@ -46,6 +46,13 @@ class Connector: infoMsg = "connection to %s server %s" % (conf.dbms, self.hostname) infoMsg += ":%d established" % self.port logger.info(infoMsg) + + def closed(self): + self.connector = None + self.cursor = None + infoMsg = "connection to %s server %s" % (conf.dbms, self.hostname) + infoMsg += ":%d closed" % self.port + logger.info(infoMsg) def connect(self): errMsg = "'connect' method must be defined "