From f392a4a3f36735be4fd452e98802efb7b3e4c129 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Fri, 4 Oct 2019 14:13:32 -0700 Subject: [PATCH] Remove BDC backwards compat check (#873) * Remove BDC backwards compat check * Fix merge issues --- .../ReliableConnectionHelper.cs | 82 +++++++------------ .../SqlConnectionHelperScripts.cs | 8 +- 2 files changed, 30 insertions(+), 60 deletions(-) diff --git a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs index 9f425293..7aca41aa 100644 --- a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs +++ b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs @@ -824,29 +824,26 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection serverInfo.Options = new Dictionary(); // Get BDC endpoints - if (!serverInfo.IsCloud) + if (!serverInfo.IsCloud && serverInfo.ServerMajorVersion >= 15) { - if (serverInfo.ServerMajorVersion >= 15) - { - List clusterEndpoints = new List(); - serverInfo.Options.Add(ServerInfo.OptionClusterEndpoints, clusterEndpoints); + List clusterEndpoints = new List(); + serverInfo.Options.Add(ServerInfo.OptionClusterEndpoints, clusterEndpoints); - try - { - LookupClusterEndpoints(connection, serverInfo, clusterEndpoints); - } - catch (SqlException) - { - // Failed to find cluster endpoints DMV / table, this must not be a cluster - // or user does not have permissions to see cluster info - serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, false); - } - } - else + try { + LookupClusterEndpoints(connection, serverInfo, clusterEndpoints); + } + catch (SqlException) + { + // Failed to find cluster endpoints DMV, this must not be a cluster + // or user does not have permissions to see cluster info serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, false); } } + else + { + serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, false); + } return serverInfo; }; @@ -868,44 +865,23 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection private static void LookupClusterEndpoints(IDbConnection connection, ServerInfo serverInfo, List clusterEndpoints) { - try - { - ExecuteReader( - connection, - SqlConnectionHelperScripts.GetClusterEndpoints, - delegate (IDataReader reader) + ExecuteReader( + connection, + SqlConnectionHelperScripts.GetClusterEndpoints, + delegate (IDataReader reader) + { + while (reader.Read()) { - while (reader.Read()) - { - clusterEndpoints.Add(new ClusterEndpoint { - ServiceName = reader.GetString(0), - Description = reader.GetString(1), - Endpoint = reader.GetString(2), - Protocol = reader.GetString(3) - }); - } - serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, clusterEndpoints.Count > 0); + clusterEndpoints.Add(new ClusterEndpoint { + ServiceName = reader.GetString(0), + Description = reader.GetString(1), + Endpoint = reader.GetString(2), + Protocol = reader.GetString(3) + }); } - ); - } - catch (Exception) - { - // Fallback to using previous CTP logic. - // TODO #847 remove this logic once we've stopped supporting CTPs - ExecuteReader( - connection, - SqlConnectionHelperScripts.GetClusterEndpoints_CTP, - delegate (IDataReader reader) - { - while (reader.Read()) - { - clusterEndpoints.Add(new ClusterEndpoint { ServiceName = reader.GetString(0), IpAddress = reader.GetString(1), Port = reader.GetInt32(2) }); - } - serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, clusterEndpoints.Count > 0); - } - ); - - } + serverInfo.Options.Add(ServerInfo.OptionIsBigDataCluster, clusterEndpoints.Count > 0); + } + ); } public static string GetServerName(IDbConnection connection) diff --git a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/SqlConnectionHelperScripts.cs b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/SqlConnectionHelperScripts.cs index c7f7ebc4..19dd5f54 100644 --- a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/SqlConnectionHelperScripts.cs +++ b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/SqlConnectionHelperScripts.cs @@ -47,12 +47,6 @@ SELECT @filepath AS FilePath "; public const string GetOsVersion = @"SELECT OSVersion = RIGHT(@@version, LEN(@@version)- 3 -charindex (' on ', LOWER(@@version)))"; - // TODO: #847 remove the Throw condition from endpoints query when removing the GetClusterEndpoints_CTP code. - // This is needed for 1 monthly release, to support back compatibility with CTP 3.2 - public const string GetClusterEndpoints = @"IF OBJECT_ID (N'sys.dm_cluster_endpoints') IS NOT NULL -SELECT [name], [description], [endpoint], [protocol_desc] FROM .[sys].[dm_cluster_endpoints]; -ELSE THROW 50000, 'Use older DMV', 1"; - public const string GetClusterEndpoints_CTP = @"IF OBJECT_ID (N'master.dbo.cluster_endpoint_info') IS NOT NULL -SELECT [service_name], [ip_address], [port] FROM [master].[dbo].[cluster_endpoint_info];"; + public const string GetClusterEndpoints = @"SELECT [name], [description], [endpoint], [protocol_desc] FROM .[sys].[dm_cluster_endpoints];"; } }