MetadataScanNode
- Namespace:
PPDS.Dataverse.Query.Planning.Nodes - Assembly:
PPDS.Dataverse - Kind: Class
- Implements:
IQueryPlanNode
Summary
Scan node that queries Dataverse metadata API instead of entity data. Used for metadata.entity, metadata.attribute, etc. virtual tables. Leaf node in the execution plan tree.
Members
Constructors
MetadataScanNode(string metadataTable, IMetadataQueryExecutor metadataExecutor, IReadOnlyList<string> requestedColumns, CompiledPredicate filter)
MetadataScanNode(string metadataTable, IMetadataQueryExecutor metadataExecutor, IReadOnlyList<string> requestedColumns, CompiledPredicate filter)
Initializes a new instance of the PPDS.Dataverse.Query.Planning.Nodes.MetadataScanNode class.
Methods
ExecuteAsync
IAsyncEnumerable<QueryRow> ExecuteAsync(QueryPlanContext context, CancellationToken cancellationToken)
Execute this node, producing rows.
Properties
Children
IReadOnlyList<IQueryPlanNode> Children { get; }
Child nodes (inputs to this operator).
Description
string Description { get; }
Human-readable description for EXPLAIN output.
EstimatedRows
long EstimatedRows { get; }
Estimated row count (for cost-based decisions). -1 if unknown.
Filter
CompiledPredicate Filter { get; }
Optional compiled client-side filter predicate.
MetadataExecutor
IMetadataQueryExecutor MetadataExecutor { get; }
The metadata query executor.
MetadataTable
string MetadataTable { get; }
The metadata virtual table name (e.g., "entity", "attribute").
RequestedColumns
IReadOnlyList<string> RequestedColumns { get; }
Columns to return from the metadata table (null = all).