From a3d23a65bb57764a9d0048e7ce356ca871de3f94 Mon Sep 17 00:00:00 2001 From: Harshal Dhumal Date: Thu, 18 Feb 2016 17:07:13 +0530 Subject: [PATCH] Disconnect the database connection only once not every time before running the offline queries i.e. renaming of the database, using different tablespce for the database, etc. --- .../server_groups/servers/databases/__init__.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py index 5d1d7a5ee..a01579790 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py @@ -290,10 +290,7 @@ class DatabaseView(NodeView): def formatdbacl(res, dbacl): for row in dbacl: priv = parse_priv_from_db(row) - if row['deftype'] in res['rows'][0]: - res['rows'][0][row['deftype']].append(priv) - else: - res['rows'][0][row['deftype']] = [priv] + res['rows'][0].setdefault(row['deftype'], []).append(priv) return res def module_js(self): @@ -500,22 +497,21 @@ class DatabaseView(NodeView): data['name'] = name try: + status = self.manager.release(did=did) + conn = self.manager.connection() for action in ["rename_database", "tablespace"]: SQL = self.getOfflineSQL(gid, sid, data, did, action) SQL = SQL.strip('\n').strip(' ') if SQL and SQL != "": - status = self.manager.release(did=did) - - conn = self.manager.connection() status, msg = conn.execute_scalar(SQL) - if not status: return internal_server_error(errormsg=msg) - self.conn = self.manager.connection(database=data['name'], auto_reconnect=True) - status, errmsg = self.conn.connect() info = "Database updated." + self.conn = self.manager.connection(database=data['name'], auto_reconnect=True) + status, errmsg = self.conn.connect() + SQL = self.getOnlineSQL(gid, sid, data, did) SQL = SQL.strip('\n').strip(' ') if SQL and SQL != "":