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:
Jordan Hays
2022-08-09 14:17:51 -07:00
committed by GitHub
parent 091f2c942e
commit 485786f49e
11 changed files with 150 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
// WARNING:
// This file was generated by the Microsoft DataWarehouse String Resource Tool 5.0.0.0
// This file was generated by the Microsoft DataWarehouse String Resource Tool 4.0.0.0
// from information in sr.strings
// DO NOT MODIFY THIS FILE'S CONTENTS, THEY WILL BE OVERWRITTEN
//
@@ -2045,6 +2045,14 @@ namespace Microsoft.SqlTools.ServiceLayer
}
}
public static string SchemaHierarchy_DroppedLedgerTables
{
get
{
return Keys.GetString(Keys.SchemaHierarchy_DroppedLedgerTables);
}
}
public static string SchemaHierarchy_AlwaysEncryptedKeys
{
get
@@ -10645,6 +10653,9 @@ namespace Microsoft.SqlTools.ServiceLayer
public const string SchemaHierarchy_ExternalTables = "SchemaHierarchy_ExternalTables";
public const string SchemaHierarchy_DroppedLedgerTables = "SchemaHierarchy_DroppedLedgerTables";
public const string SchemaHierarchy_AlwaysEncryptedKeys = "SchemaHierarchy_AlwaysEncryptedKeys";

View File

@@ -1280,6 +1280,10 @@
<value>External Tables</value>
<comment></comment>
</data>
<data name="SchemaHierarchy_DroppedLedgerTables" xml:space="preserve">
<value>Dropped Ledger Tables</value>
<comment></comment>
</data>
<data name="SchemaHierarchy_AlwaysEncryptedKeys" xml:space="preserve">
<value>Always Encrypted Keys</value>
<comment></comment>

View File

@@ -630,6 +630,8 @@ SchemaHierarchy_ExternalResources = External Resources
SchemaHierarchy_ExternalTables = External Tables
SchemaHierarchy_DroppedLedgerTables = Dropped Ledger Tables
SchemaHierarchy_AlwaysEncryptedKeys = Always Encrypted Keys
SchemaHierarchy_ColumnMasterKeys = Column Master Keys

View File

@@ -6321,6 +6321,11 @@ The Query Processor estimates that implementing the following index could improv
<target state="new">Ledger</target>
<note></note>
</trans-unit>
<trans-unit id="SchemaHierarchy_DroppedLedgerTables">
<source>Dropped Ledger Tables</source>
<target state="new">Dropped Ledger Tables</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -139,6 +139,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes
ExternalTable,
AlwaysEncryptedKeys,
ColumnMasterKeys,
ColumnEncryptionKeys
ColumnEncryptionKeys,
DroppedLedgerTables,
}
}

View File

@@ -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

View File

@@ -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 >