Adding filtering support to OE (#2039)

* Init push

* Fixing filters

* Fixing more filters

* Fixing display strings

* Fixing boolean filter

* Adding comments

* Fixing function name

* Making nullables

* Separating filter parsing logic

* Adding tests

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerUtils.cs

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerUtils.cs

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Contracts/NodeInfo.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Contracts/NodeInfo.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Nodes/TreeNode.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Adding comments

* Fixing whitespace

* Adding more  comments and changing to IEnumerable

* Fixing code comments

* Fixing tests adding more filters

---------

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
This commit is contained in:
Aasim Khan
2023-05-05 13:22:42 -07:00
committed by GitHub
parent 1b5f774741
commit 46e6b484a3
18 changed files with 2013 additions and 81 deletions

View File

@@ -565,4 +565,113 @@
<ReverseDependencyList>
<ReverseDependency Type="SqlUser" DependsOn="SqlRole;SqlRoleMembership"/>
</ReverseDependencyList>
<FilterProperties NodeName="Databases">
<Property>Name</Property>
<Property>Owner</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="Tables">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>DurabilityType</Property>
<Property>IsMemoryOptimized</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="SystemTables">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>DurabilityType</Property>
<Property>IsMemoryOptimized</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="DroppedLedgerTables">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>DurabilityType</Property>
<Property>IsMemoryOptimized</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="Views">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="DroppedLedgerViews">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="StoredProcedures">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>IsNativelyCompiled</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="TableValuedFunctions">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>IsNativelyCompiled</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="ScalarValuedFunctions">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>IsNativelyCompiled</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="AggregateFunctions">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="Sequences">
<Property>Name</Property>
<Property>Schema</Property>
<Property>Owner</Property>
<Property>CreateDate</Property>
</FilterProperties>
<FilterProperties NodeName="Indexes">
<Property>Name</Property>
<Property>IsMemoryOptimized</Property>
</FilterProperties>
<FilterProperties NodeName="Columns">
<Property>Name</Property>
<Property>InPrimaryKey</Property>
</FilterProperties>
<FilterProperty Name="Name" LocLabel="SR.FilterName" Type="string" Description="SR.FilterNameDescription"/>
<FilterProperty Name="Schema" LocLabel="SR.FilterSchema" Type="string" Description="SR.FilterSchemaDescription"/>
<FilterProperty Name="Owner" LocLabel="SR.FilterOwner" Type="string" Description="SR.FilterOwnerDescription"/>
<FilterProperty Name="DurabilityType" LocLabel="SR.FilterDurabilityType" Type="choice" Description="SR.FilterDurabilityTypeDescription">
<Value Name="SchemaAndData" LocLabel="SR.SchemaAndData"/>
<Value Name="SchemaOnly" LocLabel="SR.SchemaOnly"/>
</FilterProperty>
<FilterProperty Name="IsMemoryOptimized" LocLabel="SR.FilterIsMemoryOptimized" Type="bool" Description="SR.FilterIsMemoryOptimizedDescription"/>
<FilterProperty Name="CreateDate" LocLabel="SR.FilterCreateDate" Type="date" Description="SR.FilterCreateDateDescription"/>
<FilterProperty Name="IsNativelyCompiled" LocLabel="SR.FilterIsNativelyCompiled" Type="bool" Description="SR.FilterIsNativelyCompiledDescription"/>
<FilterProperty Name="InPrimaryKey" LocLabel="SR.FilterInPrimaryKey" Type="bool" Description="SR.FilterInPrimaryKeyDescription"/>
</ServerExplorerTree>