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.