RemoteScanNode
- Namespace:
PPDS.Dataverse.Query.Planning.Nodes - Assembly:
PPDS.Dataverse - Kind: Class
- Implements:
IQueryPlanNode
Summary
Executes a FetchXML query against a remote environment's connection pool. Used for cross-environment queries where bracket syntax ([LABEL].entity) references a different Dataverse environment.
Members
Constructors
RemoteScanNode(string fetchXml, string entityLogicalName, string remoteLabel, IQueryExecutor remoteExecutor, int maxPages)
RemoteScanNode(string fetchXml, string entityLogicalName, string remoteLabel, IQueryExecutor remoteExecutor, int maxPages)
Initializes a new instance of the PPDS.Dataverse.Query.Planning.Nodes.RemoteScanNode class.
-
Param
fetchXml: The FetchXML query to execute. -
Param
entityLogicalName: The entity being queried. -
Param
remoteLabel: The label of the remote environment. -
Param
remoteExecutor: The query executor for the remote environment. -
Param
maxPages: Maximum number of pages to fetch before throwing (default 200).
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 being queried on the remote environment.
EstimatedRows
long EstimatedRows { get; }
Estimated row count (for cost-based decisions). -1 if unknown.
RemoteLabel
string RemoteLabel { get; }
The label of the remote environment (e.g., "UAT", "PROD").