Skip to main content

TdsScanNode

  • Namespace: PPDS.Dataverse.Query.Planning.Nodes
  • Assembly: PPDS.Dataverse
  • Kind: Class
  • Implements: IQueryPlanNode

Summary​

Executes a SQL query directly against the Dataverse TDS Endpoint. Leaf node in the execution plan tree — bypasses FetchXML transpilation and sends the original SQL over the TDS wire protocol (port 5558).

Members​

Constructors​

TdsScanNode(string sql, string entityLogicalName, ITdsQueryExecutor tdsExecutor, Nullable<int> maxRows)​

TdsScanNode(string sql, string entityLogicalName, ITdsQueryExecutor tdsExecutor, Nullable<int> maxRows)

Initializes a new instance of the PPDS.Dataverse.Query.Planning.Nodes.TdsScanNode 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.

EntityLogicalName​

string EntityLogicalName { get; }

The entity logical name being queried.

EstimatedRows​

long EstimatedRows { get; }

Estimated row count (for cost-based decisions). -1 if unknown.

MaxRows​

Nullable<int> MaxRows { get; }

Maximum rows to return, if any.

Sql​

string Sql { get; }

The original SQL query to execute via TDS.

TdsExecutor​

ITdsQueryExecutor TdsExecutor { get; }

The TDS query executor for SQL execution.