Class AsyncCalcSplitRule.AsyncCalcSplitNestedRule
java.lang.Object
RemoteCalcSplitRuleBase<java.lang.Void>
org.apache.flink.table.planner.plan.rules.logical.AsyncCalcSplitRule.AsyncCalcSplitNestedRule
- Enclosing class:
- AsyncCalcSplitRule
public static class AsyncCalcSplitRule.AsyncCalcSplitNestedRule
extends RemoteCalcSplitRuleBase<java.lang.Void>
Splits nested call <- asyncCall chains so that nothing is immediately waiting on an async
call in a single calc.
For Example: Calc(select=[syncCall(asyncCall()]) -> Source
becomes
Calc(select=[syncCall(f0)]) -> AsyncCalc(select=[asyncCall() as f0]) -> Source
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanmatches(org.apache.calcite.plan.RelOptRuleCall call) booleanneedConvert(org.apache.calcite.rex.RexProgram program, org.apache.calcite.rex.RexNode node, scala.Option<Void> matchState) SplitComponentssplit(org.apache.calcite.rex.RexProgram program, ScalarFunctionSplitter splitter)
-
Constructor Details
-
AsyncCalcSplitNestedRule
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) -
needConvert
public boolean needConvert(org.apache.calcite.rex.RexProgram program, org.apache.calcite.rex.RexNode node, scala.Option<Void> matchState) -
split
public SplitComponents split(org.apache.calcite.rex.RexProgram program, ScalarFunctionSplitter splitter)
-