Class FlinkRelBuilder

java.lang.Object
org.apache.calcite.tools.RelBuilder
org.apache.flink.table.planner.calcite.FlinkRelBuilder

@Internal public final class FlinkRelBuilder extends RelBuilder
Flink-specific RelBuilder.
  • Field Details

  • Method Details

    • of

      public static FlinkRelBuilder of(org.apache.calcite.plan.Context context, org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptSchema relOptSchema)
    • of

      public static FlinkRelBuilder of(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptSchema relOptSchema)
    • proto

      public static org.apache.calcite.tools.RelBuilderFactory proto(org.apache.calcite.plan.Context context)
    • pushFunctionScan

      public static RelBuilder pushFunctionScan(RelBuilder relBuilder, org.apache.calcite.sql.SqlOperator operator, int inputCount, Iterable<org.apache.calcite.rex.RexNode> operands, List<String> aliases)
      RelBuilder.functionScan(SqlOperator, int, Iterable) cannot work smoothly with aliases which is why we implement a custom one. The method is static because some RelOptRules don't use FlinkRelBuilder.
    • expand

      public RelBuilder expand(List<List<org.apache.calcite.rex.RexNode>> projects, int expandIdIndex)
    • rank

      public RelBuilder rank(org.apache.calcite.util.ImmutableBitSet partitionKey, org.apache.calcite.rel.RelCollation orderKey, org.apache.flink.table.runtime.operators.rank.RankType rankType, org.apache.flink.table.runtime.operators.rank.RankRange rankRange, org.apache.calcite.rel.type.RelDataTypeField rankNumberType, boolean outputRankNumber)
    • aggregate

      public RelBuilder aggregate(RelBuilder.GroupKey groupKey, Iterable<RelBuilder.AggCall> aggCalls)
      Build non-window aggregate for either aggregate or table aggregate.
      Overrides:
      aggregate in class RelBuilder
    • windowAggregate

      public RelBuilder windowAggregate(LogicalWindow window, RelBuilder.GroupKey groupKey, List<org.apache.flink.table.runtime.groupwindow.NamedWindowProperty> namedProperties, Iterable<RelBuilder.AggCall> aggCalls)
      Build window aggregate for either aggregate or table aggregate.
    • watermark

      public RelBuilder watermark(int rowtimeFieldIndex, org.apache.calcite.rex.RexNode watermarkExpr)
      Build watermark assigner relational node.
    • queryOperation

      public RelBuilder queryOperation(org.apache.flink.table.operations.QueryOperation queryOperation)
    • getTypeFactory

      public FlinkTypeFactory getTypeFactory()
      Description copied from class: RelBuilder
      Returns the type factory.
      Overrides:
      getTypeFactory in class RelBuilder
    • transform

      public RelBuilder transform(UnaryOperator<RelBuilder.Config> transform)
      Description copied from class: RelBuilder
      Creates a copy of this RelBuilder, with the same state as this, applying a transform to the config.
      Overrides:
      transform in class RelBuilder