ExecutionPlanBuilder¶
Creating Instance¶
ExecutionPlanBuilder takes the following to be created:
-
StreamsBuilder(Kafka Streams) - KsqlConfig
- ServiceContext
- ProcessingLogContext (not used)
- FunctionRegistry
ExecutionPlanBuilder is created when:
QueryEngineis 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:
QueryEngineis requested to build a physical plan