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 | Constructor and Description |
|---|---|
private |
RelMdDistribution() |
| 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(HepRelVertex rel,
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(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 collation. |
static RelDistribution |
sort(RelMetadataQuery mq,
RelNode input)
Helper method to determine a
Sort's distribution. |
static 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. |
public 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(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 RelDistribution distribution(HepRelVertex rel, RelMetadataQuery mq)
public static RelDistribution table(RelOptTable table)
TableScan'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 collation.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–2018 The Apache Software Foundation. All rights reserved.