@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) |
org.apache.flink.table.planner.calcite.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(QueryOperation queryOperation) |
RelBuilder |
rank(org.apache.calcite.util.ImmutableBitSet partitionKey,
org.apache.calcite.rel.RelCollation orderKey,
RankType rankType,
RankRange rankRange,
org.apache.calcite.rel.type.RelDataTypeField rankNumberType,
boolean outputRankNumber) |
RelBuilder |
scan(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(org.apache.flink.table.planner.plan.logical.LogicalWindow window,
RelBuilder.GroupKey groupKey,
List<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, withSimplifier
public 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 RelOptRule
s
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, RankType rankType, RankRange rankRange, org.apache.calcite.rel.type.RelDataTypeField rankNumberType, boolean outputRankNumber)
public RelBuilder aggregate(RelBuilder.GroupKey groupKey, Iterable<RelBuilder.AggCall> aggCalls)
aggregate
in class RelBuilder
public RelBuilder windowAggregate(org.apache.flink.table.planner.plan.logical.LogicalWindow window, RelBuilder.GroupKey groupKey, List<NamedWindowProperty> namedProperties, Iterable<RelBuilder.AggCall> aggCalls)
public RelBuilder watermark(int rowtimeFieldIndex, org.apache.calcite.rex.RexNode watermarkExpr)
public RelBuilder queryOperation(QueryOperation queryOperation)
public RelBuilder scan(ObjectIdentifier identifier, Map<String,String> dynamicOptions)
public org.apache.flink.table.planner.calcite.FlinkTypeFactory getTypeFactory()
RelBuilder
getTypeFactory
in class RelBuilder
public RelBuilder transform(UnaryOperator<RelBuilder.Config> transform)
RelBuilder
transform
in class RelBuilder
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.