3491 Kusto Execute Function support (#1055)

* 3491 Added GenerateExecuteFunctionScript to IDataSource, DataSourceBase, and KustoDataSource. Added ExecutionFunction to Scripter and IScripter.

* 3491 Refactored GenerateScriptForFunction in ScriptAsScriptingOperation to handle execute and alter
This commit is contained in:
Justin M
2020-08-26 14:45:21 -07:00
committed by GitHub
parent 3f725b5aec
commit 26cc913c61
6 changed files with 43 additions and 8 deletions

View File

@@ -71,7 +71,7 @@ namespace Microsoft.Kusto.ServiceLayer.Scripting
// TODO: Not including the header by default. We have to get this option from client
options.IncludeHeaders = false;
// Scripting data is not avaialable in the scripter
// Scripting data is not available in the scripter
options.ScriptData = false;
SetScriptingOptions(options);
@@ -82,7 +82,8 @@ namespace Microsoft.Kusto.ServiceLayer.Scripting
break;
case ScriptingOperationType.Alter:
resultScript = GenerateScriptAlter(DataSource, urns);
case ScriptingOperationType.Execute:
resultScript = GenerateScriptForFunction(DataSource);
break;
}
@@ -153,16 +154,25 @@ namespace Microsoft.Kusto.ServiceLayer.Scripting
return string.Empty;
}
private string GenerateScriptAlter(IDataSource dataSource, UrnCollection urns)
private string GenerateScriptForFunction(IDataSource dataSource)
{
ScriptingObject scriptingObject = this.Parameters.ScriptingObjects[0];
Urn objectUrn = urns[0];
if (string.Equals(scriptingObject.Type, "Function", StringComparison.CurrentCultureIgnoreCase))
if (!string.Equals(scriptingObject.Type, "Function", StringComparison.CurrentCultureIgnoreCase))
{
return _scripter.AlterFunction(dataSource, scriptingObject);
return string.Empty;
}
if (Parameters.Operation == ScriptingOperationType.Alter)
{
return _scripter.AlterFunction(dataSource, scriptingObject);
}
if (Parameters.Operation == ScriptingOperationType.Execute)
{
return _scripter.ExecuteFunction(dataSource, scriptingObject);
}
return string.Empty;
}