public interface QueryPlanBase:
Type-erased boundary implemented by every concrete typed KQL plan.
The erasure exists only at the provider boundary. Concrete QueryPlan<T, R> instances retain both static types, and provider results remain specialized collections without per-row boxing.
plan as QueryPlanBase = typedPlan
| Modifier and Type | Member | Description |
|---|---|---|
| public | addResult | Appends one materialized result through the concrete result type. |
| public | countMemory | Counts rows produced by this plan in memory. |
| public | executeMemory | Executes this typed plan over a compatible in-memory source. |
| public | existsMemory | Tests whether this plan produces at least one row in memory. |
| public | newResultListnewResultList() as Object |
Allocates the concrete specialized result list owned by this plan. |
| public | openMemoryStream | Opens a forward-only stream over this plan evaluated in memory. |
| public | openProviderStreamopenProviderStream(cursor as ProviderResultCursor) as Object |
Wraps a live provider cursor in the concrete QueryStream<R> type. |
| public | openResultStream | Wraps a concrete provider result list in its matching typed stream. |
| public | qirPlanqirPlan() as QirQueryPlan |
Returns the immutable canonical provider plan. |
| public | withWindowwithWindow(offset as Long, limit as Long) as QueryPlanBase |
Returns an immutable plan restricted to a relative result window. |