Class StreamPhysicalConstantTableFunctionScanRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<StreamPhysicalConstantTableFunctionScanRule.StreamPhysicalConstantTableFunctionScanRuleConfig>
org.apache.flink.table.planner.plan.rules.physical.stream.StreamPhysicalConstantTableFunctionScanRule
@Enclosing
public class StreamPhysicalConstantTableFunctionScanRule
extends org.apache.calcite.plan.RelRule<StreamPhysicalConstantTableFunctionScanRule.StreamPhysicalConstantTableFunctionScanRuleConfig>
Converts
FlinkLogicalTableFunctionScan with constant RexCall. To
StreamPhysicalCorrelate
/ \
empty StreamPhysicalValues FlinkLogicalTableFunctionScan
Add the rule to support select from a UDF directly, such as the following SQL: SELECT *
FROM LATERAL TABLE(func()) as T(c)
Note: @{link StreamPhysicalCorrelateRule} is responsible for converting a reasonable physical
plan for the normal correlate query, such as the following SQL: example1: SELECT * FROM T,
LATERAL TABLE(func()) as T(c) example2: SELECT a, c FROM T, LATERAL TABLE(func(a)) as T(c)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceConfiguration forStreamPhysicalConstantTableFunctionScanRule.Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
org.apache.calcite.plan.RelRule.Config, org.apache.calcite.plan.RelRule.Done, org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.calcite.plan.RelOptRule>, org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelRule.OperandTransformNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand -
Field Summary
FieldsFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStreamPhysicalConstantTableFunctionScanRule(StreamPhysicalConstantTableFunctionScanRule.StreamPhysicalConstantTableFunctionScanRuleConfig config) -
Method Summary
Methods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
StreamPhysicalConstantTableFunctionScanRule
protected StreamPhysicalConstantTableFunctionScanRule(StreamPhysicalConstantTableFunctionScanRule.StreamPhysicalConstantTableFunctionScanRuleConfig config)
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.plan.RelOptRule
-
onMatch
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call) - Specified by:
onMatchin classorg.apache.calcite.plan.RelOptRule
-