From 024b97479dde8ce231532a5f79fb6600cbea0923 Mon Sep 17 00:00:00 2001 From: RAJASEKAR G Date: Mon, 10 Apr 2017 11:09:01 +0100 Subject: [PATCH] Recover properly if a database is renamed externally. Fixes #2077 --- .../browser/server_groups/servers/databases/__init__.py | 2 +- web/pgadmin/utils/driver/psycopg2/__init__.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py index 9510921c1..761f757b3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py @@ -198,7 +198,7 @@ class DatabaseView(PGChildNodeView): connected = True canDrop = canDisConn = False else: - conn = self.manager.connection(dbname) + conn = self.manager.connection(dbname,did=row['did']) connected = conn.connected() canDrop = canDisConn = True diff --git a/web/pgadmin/utils/driver/psycopg2/__init__.py b/web/pgadmin/utils/driver/psycopg2/__init__.py index 6fd0100d2..76a1cef0e 100644 --- a/web/pgadmin/utils/driver/psycopg2/__init__.py +++ b/web/pgadmin/utils/driver/psycopg2/__init__.py @@ -1486,6 +1486,9 @@ class ServerManager(object): if hasattr(str, 'decode') and \ not isinstance(database, unicode): database = database.decode('utf-8') + if did is not None: + if did in self.db_info: + self.db_info[did]['datname']=database else: if did is None: database = self.db