mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-25 17:24:17 -05:00
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:
@@ -8,5 +8,6 @@ namespace Microsoft.Kusto.ServiceLayer.Scripting
|
||||
{
|
||||
string SelectFromTableOrView(IDataSource dataSource, Urn urn);
|
||||
string AlterFunction(IDataSource dataSource, ScriptingObject scriptingObject);
|
||||
string ExecuteFunction(IDataSource dataSource, ScriptingObject scriptingObject);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,5 +32,11 @@ namespace Microsoft.Kusto.ServiceLayer.Scripting
|
||||
var functionName = scriptingObject.Name.Substring(0, scriptingObject.Name.IndexOf('('));
|
||||
return dataSource.GenerateAlterFunctionScript(functionName);
|
||||
}
|
||||
|
||||
public string ExecuteFunction(IDataSource dataSource, ScriptingObject scriptingObject)
|
||||
{
|
||||
var functionName = scriptingObject.Name.Substring(0, scriptingObject.Name.IndexOf('('));
|
||||
return dataSource.GenerateExecuteFunctionScript(functionName);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user