public class RelMdDistribution extends Object implements MetadataHandler<BuiltInMetadata.Distribution>
RelMetadataQuery.distribution(org.apache.calcite.rel.RelNode)
for the standard logical algebra.| Modifier and Type | Field and Description |
|---|---|
static RelMetadataProvider |
SOURCE |
| Modifier and Type | Method and Description |
|---|---|
static RelDistribution |
calc(RelMetadataQuery mq,
RelNode input,
RexProgram program)
Helper method to determine a
Calc's distribution. |
RelDistribution |
distribution(BiRel rel,
RelMetadataQuery mq) |
RelDistribution |
distribution(Exchange exchange,
RelMetadataQuery mq) |
RelDistribution |
distribution(Project project,
RelMetadataQuery mq) |
RelDistribution |
distribution(RelNode rel,
RelMetadataQuery mq)
Fallback method to deduce distribution for any relational expression not
handled by a more specific method.
|
RelDistribution |
distribution(SetOp rel,
RelMetadataQuery mq) |
RelDistribution |
distribution(SingleRel rel,
RelMetadataQuery mq) |
RelDistribution |
distribution(TableModify rel,
RelMetadataQuery mq) |
@Nullable RelDistribution |
distribution(TableScan scan,
RelMetadataQuery mq) |
RelDistribution |
distribution(Values values,
RelMetadataQuery mq) |
static RelDistribution |
exchange(RelDistribution distribution)
Helper method to determine an
Exchange's
or SortExchange's distribution. |
static RelDistribution |
filter(RelMetadataQuery mq,
RelNode input)
Helper method to determine a
Filter's distribution. |
MetadataDef<BuiltInMetadata.Distribution> |
getDef() |
static RelDistribution |
limit(RelMetadataQuery mq,
RelNode input)
Helper method to determine a
limit's distribution.
|
static RelDistribution |
project(RelMetadataQuery mq,
RelNode input,
List<? extends RexNode> projects)
Helper method to determine a
Project's distribution. |
static RelDistribution |
snapshot(RelMetadataQuery mq,
RelNode input)
Helper method to determine a
Snapshot's distribution. |
static RelDistribution |
sort(RelMetadataQuery mq,
RelNode input)
Helper method to determine a
Sort's distribution. |
static @Nullable RelDistribution |
table(RelOptTable table)
Helper method to determine a
TableScan's distribution. |
static RelDistribution |
values(RelDataType rowType,
com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<RexLiteral>> tuples)
Helper method to determine a
Values's distribution. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandlerMethodspublic static final RelMetadataProvider SOURCE
public MetadataDef<BuiltInMetadata.Distribution> getDef()
getDef in interface MetadataHandler<BuiltInMetadata.Distribution>public RelDistribution distribution(RelNode rel, RelMetadataQuery mq)
rel - Relational expressionpublic RelDistribution distribution(SingleRel rel, RelMetadataQuery mq)
public RelDistribution distribution(BiRel rel, RelMetadataQuery mq)
public RelDistribution distribution(SetOp rel, RelMetadataQuery mq)
public RelDistribution distribution(TableModify rel, RelMetadataQuery mq)
public @Nullable RelDistribution distribution(TableScan scan, RelMetadataQuery mq)
public RelDistribution distribution(Project project, RelMetadataQuery mq)
public RelDistribution distribution(Values values, RelMetadataQuery mq)
public RelDistribution distribution(Exchange exchange, RelMetadataQuery mq)
public static @Nullable RelDistribution table(RelOptTable table)
TableScan's distribution.public static RelDistribution snapshot(RelMetadataQuery mq, RelNode input)
Snapshot's distribution.public static RelDistribution sort(RelMetadataQuery mq, RelNode input)
Sort's distribution.public static RelDistribution filter(RelMetadataQuery mq, RelNode input)
Filter's distribution.public static RelDistribution limit(RelMetadataQuery mq, RelNode input)
public static RelDistribution calc(RelMetadataQuery mq, RelNode input, RexProgram program)
Calc's distribution.public static RelDistribution project(RelMetadataQuery mq, RelNode input, List<? extends RexNode> projects)
Project's distribution.public static RelDistribution values(RelDataType rowType, com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<RexLiteral>> tuples)
Values's distribution.public static RelDistribution exchange(RelDistribution distribution)
Exchange's
or SortExchange's distribution.Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.