mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-15 17:23:32 -05:00
@@ -1,12 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Composition;
|
||||
using Microsoft.SqlTools.ServiceLayer;
|
||||
using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Composition;
|
||||
using Microsoft.SqlServer.Management.Smo;
|
||||
using Microsoft.SqlTools.ServiceLayer;
|
||||
using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
|
||||
internal sealed partial class DatabaseTreeNode : SmoTreeNode
|
||||
{
|
||||
public DatabaseTreeNode() : base()
|
||||
@@ -657,6 +658,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "Database";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -668,6 +670,45 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "Tables" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsFileTable",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsExternal",
|
||||
Type = typeof(bool),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "TemporalType",
|
||||
Type = typeof(Enum),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ TableTemporalType.None },
|
||||
{ TableTemporalType.SystemVersioned }
|
||||
}
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnExpandPopulateFolders(IList<TreeNode> currentChildren, TreeNode parent)
|
||||
{
|
||||
currentChildren.Add(new FolderNode {
|
||||
@@ -715,6 +756,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "Views" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnExpandPopulateFolders(IList<TreeNode> currentChildren, TreeNode parent)
|
||||
{
|
||||
currentChildren.Add(new FolderNode {
|
||||
@@ -1095,6 +1151,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "SystemTables" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1117,6 +1188,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "FileTables" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsFileTable",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1139,6 +1225,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "ExternalTables" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsExternal",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1161,6 +1262,25 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "Table" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "TemporalType",
|
||||
Type = typeof(Enum),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ TableTemporalType.HistoryTable }
|
||||
}
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnExpandPopulateFolders(IList<TreeNode> currentChildren, TreeNode parent)
|
||||
{
|
||||
currentChildren.Add(new FolderNode {
|
||||
@@ -1257,6 +1377,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "Table";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1296,6 +1417,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "Table";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1332,6 +1454,27 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "Keys" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IndexKeyType",
|
||||
Type = typeof(Enum),
|
||||
TypeToReverse = typeof(SqlIndexQuerier),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ IndexKeyType.DriPrimaryKey },
|
||||
{ IndexKeyType.DriUniqueKey }
|
||||
}
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1404,6 +1547,26 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "Indexes" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IndexKeyType",
|
||||
Type = typeof(Enum),
|
||||
TypeToReverse = typeof(SqlIndexQuerier),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ IndexKeyType.None }
|
||||
}
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1416,7 +1579,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "Indexe";
|
||||
child.NodeType = "Index";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1452,6 +1615,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "SystemViews" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -1513,6 +1691,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "View";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1598,7 +1777,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "Assemblie";
|
||||
child.NodeType = "Assembly";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1936,6 +2115,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "UserDefinedTableType";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -1972,6 +2152,27 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "UserDefinedTableTypeKeys" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IndexKeyType",
|
||||
Type = typeof(Enum),
|
||||
TypeToReverse = typeof(SqlIndexQuerier),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ IndexKeyType.DriPrimaryKey },
|
||||
{ IndexKeyType.DriUniqueKey }
|
||||
}
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -2284,6 +2485,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "StoredProcedures" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnExpandPopulateFolders(IList<TreeNode> currentChildren, TreeNode parent)
|
||||
{
|
||||
currentChildren.Add(new FolderNode {
|
||||
@@ -2317,6 +2533,21 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "SystemStoredProcedures" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -2360,6 +2591,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "StoredProcedure";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -2396,6 +2628,31 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "TableValuedFunctions" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "FunctionType",
|
||||
Type = typeof(Enum),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ UserDefinedFunctionType.Table }
|
||||
}
|
||||
});
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -2439,6 +2696,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "TableValuedFunction";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -2475,6 +2733,31 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "ScalarValuedFunctions" }; }
|
||||
|
||||
public override IEnumerable<NodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<NodeFilter>();
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "FunctionType",
|
||||
Type = typeof(Enum),
|
||||
ValidFor = ValidForFlag.Sql2016|ValidForFlag.AzureV12,
|
||||
Values = new List<object>
|
||||
{
|
||||
{ UserDefinedFunctionType.Scalar }
|
||||
}
|
||||
});
|
||||
filters.Add(new NodeFilter
|
||||
{
|
||||
Property = "IsSystemObject",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
@@ -2518,6 +2801,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "ScalarValuedFunction";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -2597,6 +2881,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "AggregateFunction";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -2669,7 +2954,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
var child = new SmoTreeNode();
|
||||
child.IsAlwaysLeaf = true;
|
||||
child.NodeType = "BrokerPrioritie";
|
||||
child.NodeType = "BrokerPriority";
|
||||
InitializeChild(child, context);
|
||||
return child;
|
||||
}
|
||||
@@ -3527,5 +3812,5 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user