From ac710ea5d349a6d385e88f3f9d3c215f559019b9 Mon Sep 17 00:00:00 2001 From: pravesh-sharma Date: Tue, 24 Feb 2026 12:45:34 +0530 Subject: [PATCH 1/2] Fixed an issue where modifying a shared server incorrectly updated the original server details. #9258 --- web/pgadmin/browser/server_groups/servers/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 0f317a08c09..718d4473bd1 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -1468,6 +1468,7 @@ def connect(self, gid, sid, is_qt=False, server=None): shared_server = None if server.shared and server.user_id != current_user.id: shared_server = ServerModule.get_shared_server(server, gid) + db.session.expunge(server) server = ServerModule.get_shared_server_properties(server, shared_server) if server is None: From a164f8b95a9fdd2b5c35691b0cca19857b2f993f Mon Sep 17 00:00:00 2001 From: pravesh-sharma Date: Tue, 24 Feb 2026 17:36:30 +0530 Subject: [PATCH 2/2] Fixed review comments --- web/pgadmin/browser/server_groups/servers/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 718d4473bd1..24825994980 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -39,6 +39,7 @@ from pgadmin.utils.constants import UNAUTH_REQ, MIMETYPE_APP_JS, \ SERVER_CONNECTION_CLOSED, RESTRICTION_TYPE_SQL from sqlalchemy import or_ +from sqlalchemy.orm import object_session from sqlalchemy.orm.attributes import flag_modified from pgadmin.utils.preferences import Preferences from .... import socketio as sio @@ -1468,7 +1469,9 @@ def connect(self, gid, sid, is_qt=False, server=None): shared_server = None if server.shared and server.user_id != current_user.id: shared_server = ServerModule.get_shared_server(server, gid) - db.session.expunge(server) + sess = object_session(server) + if sess is not None: + sess.expunge(server) server = ServerModule.get_shared_server_properties(server, shared_server) if server is None: