Package org.apache.calcite.rel
Interface RelDistribution
-
- All Superinterfaces:
java.lang.Comparable<RelMultipleTrait>
,RelMultipleTrait
,RelTrait
- All Known Implementing Classes:
RelDistributions.RelDistributionImpl
public interface RelDistribution extends RelMultipleTrait
Description of the physical distribution of a relational expression.TBD:
- Can we shorten
RelDistribution.Type.HASH_DISTRIBUTED
to HASH, etc. - Do we need
RelDistributions
.DEFAULT? RelDistributionTraitDef.convert(org.apache.calcite.plan.RelOptPlanner, org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelDistribution, boolean)
does not create specific physical operators as it does in Drill. Drill will need to create rules; or we could allow "converters" to be registered with the planner that are not trait-defs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
RelDistribution.Type
Type of distribution.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RelDistribution
apply(Mappings.TargetMapping mapping)
java.util.List<java.lang.Integer>
getKeys()
Returns the ordinals of the key columns.RelDistribution.Type
getType()
Returns the type of distribution.-
Methods inherited from interface org.apache.calcite.plan.RelMultipleTrait
isTop
-
-
-
-
Method Detail
-
getType
@Nonnull RelDistribution.Type getType()
Returns the type of distribution.
-
getKeys
@Nonnull java.util.List<java.lang.Integer> getKeys()
Returns the ordinals of the key columns.Order is important for some types (RANGE); other types (HASH) consider it unimportant but impose an arbitrary order; other types (BROADCAST, SINGLETON) never have keys.
-
apply
RelDistribution apply(Mappings.TargetMapping mapping)
-
-