Include inline functions as table-valued functions in Object Explorer (#594)

This commit is contained in:
Matt Irvine
2018-03-21 15:48:20 -07:00
committed by GitHub
parent 30c4b97f2a
commit 3937ebef38
3 changed files with 16 additions and 2 deletions

View File

@@ -324,6 +324,7 @@
<Filters >
<Filter Property="FunctionType" Type="Enum">
<Value>UserDefinedFunctionType.Table</Value>
<Value>UserDefinedFunctionType.Inline</Value>
</Filter>
<Filter Property="IsSystemObject" Value="0" Type="bool" />
</Filters>
@@ -332,6 +333,7 @@
<Filters >
<Filter Property="FunctionType" Type="Enum">
<Value>UserDefinedFunctionType.Table</Value>
<Value>UserDefinedFunctionType.Inline</Value>
</Filter>
<Filter Property="IsSystemObject" Value="1" Type="bool" />
</Filters>

View File

@@ -2723,7 +2723,8 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
Type = typeof(Enum),
Values = new List<object>
{
{ UserDefinedFunctionType.Table }
{ UserDefinedFunctionType.Table },
{ UserDefinedFunctionType.Inline }
}
});
filters.Add(new NodeFilter
@@ -2769,7 +2770,8 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
Type = typeof(Enum),
Values = new List<object>
{
{ UserDefinedFunctionType.Table }
{ UserDefinedFunctionType.Table },
{ UserDefinedFunctionType.Inline }
}
});
filters.Add(new NodeFilter

View File

@@ -71,6 +71,16 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ObjectExplorer
Assert.False(querier.ValidFor.HasFlag(ValidForFlag.SqlDw));
}
[Fact]
public void TableValuedFunctionsIncludeInlineFunctions()
{
var tableFactory = new TableValuedFunctionsChildFactory();
var filters = tableFactory.Filters;
Assert.True(filters.ToList().Any(filter => {
return filter.Values.Contains(UserDefinedFunctionType.Table) && filter.Values.Contains(UserDefinedFunctionType.Inline);
}));
}
private SmoQuerier GetSmoQuerier(Type querierType)
{
// Given the extension type loader is set to find SmoCollectionQuerier objects