From 822ffb2908e9983c521b3259b8cd2900db33b8e4 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Mon, 11 Jan 2021 09:08:50 -0800 Subject: [PATCH] Remove invalid SET option for SqlOnDemand (#1147) --- .../QueryExecution/QuerySettingsHelper.cs | 9 --------- .../QueryExecution/Query.cs | 6 ++++-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.Kusto.ServiceLayer/QueryExecution/QuerySettingsHelper.cs b/src/Microsoft.Kusto.ServiceLayer/QueryExecution/QuerySettingsHelper.cs index ccb54ab3..2f01a979 100644 --- a/src/Microsoft.Kusto.ServiceLayer/QueryExecution/QuerySettingsHelper.cs +++ b/src/Microsoft.Kusto.ServiceLayer/QueryExecution/QuerySettingsHelper.cs @@ -36,7 +36,6 @@ namespace Microsoft.Kusto.ServiceLayer.QueryExecution private static readonly string s_SetCursorCloseOnCommit = "SET CURSOR_CLOSE_ON_COMMIT {0}"; private static readonly string s_SetImplicitTransaction = "SET IMPLICIT_TRANSACTIONS {0}"; private static readonly string s_SetQuotedIdentifier = "SET QUOTED_IDENTIFIER {0}"; - private static readonly string s_SetNoExec = "SET NOEXEC {0}"; private static readonly string s_SetStatisticsTime = "SET STATISTICS TIME {0}"; private static readonly string s_SetStatisticsIO = "SET STATISTICS IO {0}"; private static readonly string s_SetParseOnly = "SET PARSEONLY {0}"; @@ -194,14 +193,6 @@ namespace Microsoft.Kusto.ServiceLayer.QueryExecution } } - public string SetNoExecString - { - get - { - return string.Format(System.Globalization.CultureInfo.InvariantCulture, s_SetNoExec, (this.settings.NoExec ? s_On : s_Off)); - } - } - public string GetSetStatisticsTimeString(bool? on) { on = on ?? this.settings.StatisticsTime; diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Query.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Query.cs index fefb9491..05ff9f3d 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Query.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Query.cs @@ -623,7 +623,8 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution // "set noexec off" should be the very first command, cause everything after // corresponding "set noexec on" is not executed until "set noexec off" // is encounted - if (!settings.NoExec) + // NOEXEC is not currently supported by SqlOnDemand servers + if (!settings.NoExec && connection.EngineEdition != SqlServer.Management.Common.DatabaseEngineEdition.SqlOnDemand) { builderBefore.AppendFormat("{0} ", helper.SetNoExecString); } @@ -684,7 +685,8 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution // "set noexec on" should be the very last command, cause everything after it is not // being executed unitl "set noexec off" is encounered - if (settings.NoExec) + // NOEXEC is not currently supported by SqlOnDemand servers + if (settings.NoExec && connection.EngineEdition != SqlServer.Management.Common.DatabaseEngineEdition.SqlOnDemand) { builderBefore.AppendFormat("{0} ", helper.SetNoExecString); }