Skip to content

Commit efd38be

Browse files
authored
Use requested database when determining if a connection is a system db connection (#580)
1 parent f18c639 commit efd38be

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,7 @@ internal async Task<ObjectExplorerSession> DoCreateSession(ConnectionDetails con
458458
ObjectExplorerSession session = null;
459459
connectionDetails.PersistSecurityInfo = true;
460460
ConnectParams connectParams = new ConnectParams() { OwnerUri = uri, Connection = connectionDetails, Type = Connection.ConnectionType.ObjectExplorer };
461+
string connectionDatabase = connectionDetails.DatabaseName;
461462

462463
ConnectionInfo connectionInfo;
463464
ConnectionCompleteParams connectionResult = await Connect(connectParams, uri);
@@ -479,7 +480,7 @@ internal async Task<ObjectExplorerSession> DoCreateSession(ConnectionDetails con
479480
waitForLockTimeout: timeout,
480481
bindOperation: (bindingContext, cancelToken) =>
481482
{
482-
session = ObjectExplorerSession.CreateSession(connectionResult, serviceProvider, bindingContext.ServerConnection);
483+
session = ObjectExplorerSession.CreateSession(connectionResult, serviceProvider, bindingContext.ServerConnection, connectionDatabase);
483484
session.ConnectionInfo = connectionInfo;
484485

485486
sessionMap.AddOrUpdate(uri, session, (key, oldSession) => session);
@@ -728,11 +729,11 @@ public ObjectExplorerSession(string uri, TreeNode root, IMultiServiceProvider se
728729

729730
public string ErrorMessage { get; set; }
730731

731-
public static ObjectExplorerSession CreateSession(ConnectionCompleteParams response, IMultiServiceProvider serviceProvider, ServerConnection serverConnection)
732+
public static ObjectExplorerSession CreateSession(ConnectionCompleteParams response, IMultiServiceProvider serviceProvider, ServerConnection serverConnection, string connectionDatabase)
732733
{
733734
ServerNode rootNode = new ServerNode(response, serviceProvider, serverConnection);
734735
var session = new ObjectExplorerSession(response.OwnerUri, rootNode, serviceProvider, serviceProvider.GetService<ConnectionService>());
735-
if (!DatabaseUtils.IsSystemDatabaseConnection(response.ConnectionSummary.DatabaseName))
736+
if (!DatabaseUtils.IsSystemDatabaseConnection(connectionDatabase))
736737
{
737738
// Assuming the databases are in a folder under server node
738739
DatabaseTreeNode databaseNode = new DatabaseTreeNode(rootNode, response.ConnectionSummary.DatabaseName);

0 commit comments

Comments
 (0)