mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 17:23:27 -05:00
Dropped Ledger Tables Folder (#1625)
* support and testing for Dropped Ledger Table folder * appending DroppedLedgerTables nodetype * fixing unit tests * undoing string.Empty
This commit is contained in:
@@ -139,6 +139,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes
|
||||
ExternalTable,
|
||||
AlwaysEncryptedKeys,
|
||||
ColumnMasterKeys,
|
||||
ColumnEncryptionKeys
|
||||
ColumnEncryptionKeys,
|
||||
DroppedLedgerTables,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -797,6 +797,13 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{ LedgerTableType.UpdatableLedgerTable }
|
||||
}
|
||||
});
|
||||
filters.Add(new NodePropertyFilter
|
||||
{
|
||||
Property = "IsDroppedLedgerTable",
|
||||
Type = typeof(bool),
|
||||
ValidFor = ValidForFlag.Sql2022|ValidForFlag.AzureV12,
|
||||
Values = new List<object> { 0 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
@@ -845,6 +852,14 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
IsMsShippedOwned = true,
|
||||
SortPriority = SmoTreeNode.NextSortPriority,
|
||||
});
|
||||
currentChildren.Add(new FolderNode {
|
||||
NodeValue = SR.SchemaHierarchy_DroppedLedgerTables,
|
||||
NodeType = "Folder",
|
||||
NodeTypeId = NodeTypes.DroppedLedgerTables,
|
||||
IsSystemObject = false,
|
||||
ValidFor = ValidForFlag.Sql2022|ValidForFlag.AzureV12,
|
||||
SortPriority = SmoTreeNode.NextSortPriority,
|
||||
});
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
@@ -1318,6 +1333,57 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
}
|
||||
}
|
||||
|
||||
[Export(typeof(ChildFactory))]
|
||||
[Shared]
|
||||
internal partial class DroppedLedgerTablesChildFactory : SmoChildFactoryBase
|
||||
{
|
||||
public override IEnumerable<string> ApplicableParents() { return new[] { "DroppedLedgerTables" }; }
|
||||
|
||||
public override IEnumerable<INodeFilter> Filters
|
||||
{
|
||||
get
|
||||
{
|
||||
var filters = new List<INodeFilter>();
|
||||
filters.Add(new NodePropertyFilter
|
||||
{
|
||||
Property = "IsDroppedLedgerTable",
|
||||
Type = typeof(bool),
|
||||
Values = new List<object> { 1 },
|
||||
});
|
||||
return filters;
|
||||
}
|
||||
}
|
||||
|
||||
public override IEnumerable<NodeSmoProperty> SmoProperties
|
||||
{
|
||||
get
|
||||
{
|
||||
var properties = new List<NodeSmoProperty>();
|
||||
properties.Add(new NodeSmoProperty
|
||||
{
|
||||
Name = "IsDroppedLedgerTable",
|
||||
ValidFor = ValidForFlag.Sql2022|ValidForFlag.AzureV12
|
||||
});
|
||||
return properties;
|
||||
}
|
||||
}
|
||||
|
||||
internal override Type[] ChildQuerierTypes
|
||||
{
|
||||
get
|
||||
{
|
||||
return new [] { typeof(SqlTableQuerier), };
|
||||
}
|
||||
}
|
||||
|
||||
public override TreeNode CreateChild(TreeNode parent, object context)
|
||||
{
|
||||
var child = new TableTreeNode();
|
||||
InitializeChild(parent, child, context);
|
||||
return child;
|
||||
}
|
||||
}
|
||||
|
||||
[Export(typeof(ChildFactory))]
|
||||
[Shared]
|
||||
internal partial class TableChildFactory : SmoChildFactoryBase
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<Value>LedgerTableType.AppendOnlyLedgerTable</Value>
|
||||
<Value>LedgerTableType.UpdatableLedgerTable</Value>
|
||||
</Filter>
|
||||
<Filter Property="IsDroppedLedgerTable" Value="0" Type="bool" ValidFor="Sql2022|AzureV12" />
|
||||
</Filters>
|
||||
<Properties>
|
||||
<Property Name="IsFileTable" ValidFor="Sql2012|Sql2014|Sql2016|Sql2017|Sql2019|Sql2022"/>
|
||||
@@ -92,6 +93,7 @@
|
||||
</Properties>
|
||||
<Child Name="SystemTables" IsSystemObject="1"/>
|
||||
<Child Name="ExternalTables"/>
|
||||
<Child Name="DroppedLedgerTables" IsDroppedLedgerTable="1"/>
|
||||
</Node>
|
||||
|
||||
<Node Name="Views" LocLabel="SR.SchemaHierarchy_Views" BaseClass="ModelBased" Strategy="MultipleElementsOfType" ChildQuerierTypes="SqlView" TreeNode="ViewTreeNode">
|
||||
@@ -161,6 +163,14 @@
|
||||
<Filter Property="IsSystemObject" Value="1" Type="bool" />
|
||||
</Filters>
|
||||
</Node>
|
||||
<Node Name="DroppedLedgerTables" LocLabel="SR.SchemaHierarchy_DroppedLedgerTables" BaseClass="ModelBased" Strategy="MultipleElementsOfType" ChildQuerierTypes="SqlTable" TreeNode="TableTreeNode" ValidFor="Sql2022|AzureV12">
|
||||
<Filters >
|
||||
<Filter Property="IsDroppedLedgerTable" Value="1" Type="bool" />
|
||||
</Filters>
|
||||
<Properties>
|
||||
<Property Name="IsDroppedLedgerTable" ValidFor="Sql2022|AzureV12"/>
|
||||
</Properties>
|
||||
</Node>
|
||||
<!--
|
||||
<Node Name="FileTables" LocLabel="SR.SchemaHierarchy_FileTables" BaseClass="ModelBased" Strategy="MultipleElementsOfType" ChildQuerierTypes="SqlTable" TreeNode="TableTreeNode" ValidFor="Sql2012|Sql2014|Sql2016|Sql2017|Sql2019|Sql2022">
|
||||
<Filters >
|
||||
|
||||
Reference in New Issue
Block a user