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