Skip to main content

PlanExecutor

  • Namespace: PPDS.Dataverse.Query.Execution
  • Assembly: PPDS.Dataverse
  • Kind: Class

Summary

Executes a query plan by consuming the root node's IAsyncEnumerable and collecting results into QueryResult format.

Members

Methods

ExecuteAsync

Task<QueryResult> ExecuteAsync(QueryPlanResult planResult, QueryPlanContext context, CancellationToken cancellationToken)

Executes a query plan and collects all results.

  • Param planResult: The plan to execute.

  • Param context: The execution context.

  • Param cancellationToken: Cancellation token.

  • Returns: The collected query result.

ExecuteStreamingAsync

IAsyncEnumerable<QueryRow> ExecuteStreamingAsync(QueryPlanResult planResult, QueryPlanContext context, CancellationToken cancellationToken)

Executes a query plan and yields rows one-at-a-time as an IAsyncEnumerable, enabling progressive streaming to the caller without buffering all rows in memory.

  • Param planResult: The plan to execute.

  • Param context: The execution context.

  • Param cancellationToken: Cancellation token.

  • Returns: An async stream of query rows.