Skip to main content

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).