mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-25 01:25:40 -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:
@@ -105,6 +105,8 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
||||
|
||||
public abstract string GenerateAlterFunctionScript(string functionName);
|
||||
|
||||
public abstract string GenerateExecuteFunctionScript(string functionName);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DataSourceType DataSourceType { get; protected set; }
|
||||
|
||||
|
||||
@@ -123,10 +123,17 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
||||
bool Exists(DataSourceObjectMetadata objectMetadata);
|
||||
|
||||
/// <summary>
|
||||
/// Gets FunctionInfo object for a function
|
||||
/// Generates an alter script for a function
|
||||
/// </summary>
|
||||
/// <param name="functionName"></param>
|
||||
/// <returns></returns>
|
||||
string GenerateAlterFunctionScript(string functionName);
|
||||
|
||||
/// <summary>
|
||||
/// Generates an execute script for a function
|
||||
/// </summary>
|
||||
/// <param name="functionName"></param>
|
||||
/// <returns></returns>
|
||||
string GenerateExecuteFunctionScript(string functionName);
|
||||
}
|
||||
}
|
||||
@@ -1047,6 +1047,15 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
||||
return alterCommand.ToString();
|
||||
}
|
||||
|
||||
public override string GenerateExecuteFunctionScript(string functionName)
|
||||
{
|
||||
var functionInfo = GetFunctionInfo(functionName);
|
||||
|
||||
return functionInfo == null
|
||||
? string.Empty
|
||||
: $"{functionInfo.Name}{functionInfo.Parameters}";
|
||||
}
|
||||
|
||||
private string GenerateMetadataKey(string databaseName, string objectName)
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(objectName) ? databaseName : $"{databaseName}.{objectName}";
|
||||
|
||||
Reference in New Issue
Block a user