@Internal public final class FlinkRelBuilder extends RelBuilder
RelBuilder.RelBuilder.AggCall, RelBuilder.Config, RelBuilder.GroupKey, RelBuilder.OverCall| Modifier and Type | Field and Description |
|---|---|
static RelBuilder.Config |
FLINK_REL_BUILDER_CONFIG |
cluster, relOptSchema| Modifier and Type | Method and Description |
|---|---|
RelBuilder |
aggregate(RelBuilder.GroupKey groupKey,
Iterable<RelBuilder.AggCall> aggCalls)
Build non-window aggregate for either aggregate or table aggregate.
|
RelBuilder |
expand(List<List<org.apache.calcite.rex.RexNode>> projects,
int expandIdIndex) |
FlinkTypeFactory |
getTypeFactory()
Returns the type factory.
|
static FlinkRelBuilder |
of(org.apache.calcite.plan.Context context,
org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelOptSchema relOptSchema) |
static FlinkRelBuilder |
of(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelOptSchema relOptSchema) |
static org.apache.calcite.tools.RelBuilderFactory |
proto(org.apache.calcite.plan.Context context) |
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. |
RelBuilder |
queryOperation(org.apache.flink.table.operations.QueryOperation queryOperation) |
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) |
RelBuilder |
scan(org.apache.flink.table.catalog.ObjectIdentifier identifier,
Map<String,String> dynamicOptions) |
RelBuilder |
transform(UnaryOperator<RelBuilder.Config> transform)
Creates a copy of this RelBuilder, with the same state as this, applying a transform to the
config.
|
RelBuilder |
watermark(int rowtimeFieldIndex,
org.apache.calcite.rex.RexNode watermarkExpr)
Build watermark assigner relational node.
|
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.
|
adoptConvention, aggregate, aggregate, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, alias, all, and, and, antiJoin, antiJoin, arrayQuery, as, avg, avg, between, build, call, call, cast, cast, cast, clear, convert, correlate, correlate, count, count, count, count, countStar, create, currentRow, cursor, desc, distinct, dot, dot, empty, equals, exchange, exists, field, field, field, field, field, field, field, fields, fields, fields, fields, fields, fields, fields, filter, filter, filter, filter, following, functionScan, functionScan, getCluster, getRelOptSchema, getRexBuilder, getScanFactory, greaterThan, greaterThanOrEqual, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, hints, hints, in, in, in, in, intersect, intersect, isDistinctFrom, isNotDistinctFrom, isNotNull, isNull, join, join, join, join, join, lessThan, lessThanOrEqual, let, limit, literal, mapQuery, match, max, max, min, min, minus, minus, multisetQuery, not, notEquals, nullsFirst, nullsLast, or, or, patternAlter, patternAlter, patternConcat, patternConcat, patternExclude, patternField, patternPermute, patternPermute, patternQuantify, patternQuantify, peek, peek, peek, permute, pivot, preceding, project, project, project, project, projectExcept, projectExcept, projectNamed, projectPlus, projectPlus, proto, push, pushAll, rename, repeatUnion, repeatUnion, scalarQuery, scan, scan, semiJoin, semiJoin, size, snapshot, some, sort, sort, sort, sort, sortExchange, sortLimit, sortLimit, sortLimit, sum, sum, toString, transientScan, transientScan, unboundedFollowing, unboundedPreceding, uncollect, union, union, unique, unpivot, values, values, values, values, variable, with, withPredicates, withSimplifierpublic static final RelBuilder.Config FLINK_REL_BUILDER_CONFIG
public static FlinkRelBuilder of(org.apache.calcite.plan.Context context, org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptSchema relOptSchema)
public static FlinkRelBuilder of(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptSchema relOptSchema)
public static org.apache.calcite.tools.RelBuilderFactory proto(org.apache.calcite.plan.Context context)
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.public RelBuilder expand(List<List<org.apache.calcite.rex.RexNode>> projects, int expandIdIndex)
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)
public RelBuilder aggregate(RelBuilder.GroupKey groupKey, Iterable<RelBuilder.AggCall> aggCalls)
aggregate in class RelBuilderpublic RelBuilder windowAggregate(LogicalWindow window, RelBuilder.GroupKey groupKey, List<org.apache.flink.table.runtime.groupwindow.NamedWindowProperty> namedProperties, Iterable<RelBuilder.AggCall> aggCalls)
public RelBuilder watermark(int rowtimeFieldIndex, org.apache.calcite.rex.RexNode watermarkExpr)
public RelBuilder queryOperation(org.apache.flink.table.operations.QueryOperation queryOperation)
public RelBuilder scan(org.apache.flink.table.catalog.ObjectIdentifier identifier, Map<String,String> dynamicOptions)
public FlinkTypeFactory getTypeFactory()
RelBuildergetTypeFactory in class RelBuilderpublic RelBuilder transform(UnaryOperator<RelBuilder.Config> transform)
RelBuildertransform in class RelBuilderCopyright © 2014–2025 The Apache Software Foundation. All rights reserved.