ExecutionPlanBuilder¶
Creating Instance¶
ExecutionPlanBuilder
takes the following to be created:
-
StreamsBuilder
(Kafka Streams) - KsqlConfig
- ServiceContext
- ProcessingLogContext (not used)
- FunctionRegistry
ExecutionPlanBuilder
is created when:
QueryEngine
is requested to build a physical plan
buildPhysicalPlan¶
ExecutionPlan buildPhysicalPlan(
LogicalPlanNode logicalPlanNode,
QueryId queryId,
Optional<PlanInfo> oldPlanInfo)
buildPhysicalPlan
requests the given LogicalPlanNode
for an OutputNode to build a SchemaKStream.
IllegalArgumentException for no OutputNode
buildPhysicalPlan
throws an IllegalArgumentException
if the LogicalPlanNode
has got no OutputNode:
Need an output node to build a plan
In the end, buildPhysicalPlan
returns an ExecutionPlan
with the ExecutionStep of the SchemaKStream and the given QueryId
.
buildPhysicalPlan
is used when:
QueryEngine
is requested to build a physical plan