/** * Creates a HiveSortExchange. * * @param input Input relational expression * @param distribution Distribution specification * @param collation Collation specification * @param joinKeys Join Keys specification */ public static HiveSortExchange create(RelNode input, RelDistribution distribution, RelCollation collation, ImmutableList<RexNode> joinKeys) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); collation = RelCollationTraitDef.INSTANCE.canonize(collation); RelTraitSet traitSet = RelTraitSet.createEmpty().plus(distribution).plus(collation); return new HiveSortExchange(cluster, traitSet, input, distribution, collation, joinKeys); }
/** * Creates a HiveSortExchange. * * @param input Input relational expression * @param distribution Distribution specification * @param collation Collation specification * @param joinKeys Join Keys specification */ public static HiveSortExchange create(RelNode input, RelDistribution distribution, RelCollation collation, ImmutableList<RexNode> joinKeys) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); collation = RelCollationTraitDef.INSTANCE.canonize(collation); RelTraitSet traitSet = RelTraitSet.createEmpty().plus(distribution).plus(collation); return new HiveSortExchange(cluster, traitSet, input, distribution, collation, joinKeys); }
/** Creates a hash distribution. */ public static RelDistribution hash(Collection<? extends Number> numbers) { ImmutableIntList list = ImmutableIntList.copyOf(numbers); if (numbers.size() > 1 && !Ordering.natural().isOrdered(list)) { list = ImmutableIntList.copyOf(Ordering.natural().sortedCopy(list)); } RelDistributionImpl trait = new RelDistributionImpl(RelDistribution.Type.HASH_DISTRIBUTED, list); return RelDistributionTraitDef.INSTANCE.canonize(trait); }
/** Creates a range distribution. */ public static RelDistribution range(Collection<? extends Number> numbers) { ImmutableIntList list = ImmutableIntList.copyOf(numbers); RelDistributionImpl trait = new RelDistributionImpl(RelDistribution.Type.RANGE_DISTRIBUTED, list); return RelDistributionTraitDef.INSTANCE.canonize(trait); }
/** Creates a hash distribution. */ public static RelDistribution hash(Collection<? extends Number> numbers) { ImmutableIntList list = ImmutableIntList.copyOf(numbers); if (numbers.size() > 1 && !Ordering.natural().isOrdered(list)) { list = ImmutableIntList.copyOf(Ordering.natural().sortedCopy(list)); } RelDistributionImpl trait = new RelDistributionImpl(RelDistribution.Type.HASH_DISTRIBUTED, list); return RelDistributionTraitDef.INSTANCE.canonize(trait); }
/** Creates a range distribution. */ public static RelDistribution range(Collection<? extends Number> numbers) { ImmutableIntList list = ImmutableIntList.copyOf(numbers); RelDistributionImpl trait = new RelDistributionImpl(RelDistribution.Type.RANGE_DISTRIBUTED, list); return RelDistributionTraitDef.INSTANCE.canonize(trait); }
public RelDistribution apply(Mappings.TargetMapping mapping) { if (keys.isEmpty()) { return this; } return getTraitDef().canonize( new RelDistributionImpl(type, ImmutableIntList.copyOf( Mappings.apply((Mapping) mapping, keys)))); }
public RelDistribution apply(Mappings.TargetMapping mapping) { if (keys.isEmpty()) { return this; } return getTraitDef().canonize( new RelDistributionImpl(type, ImmutableIntList.copyOf( Mappings.apply((Mapping) mapping, keys)))); }
/** * Creates a LogicalExchange. * * @param input Input relational expression * @param distribution Distribution specification */ public static LogicalExchange create(RelNode input, RelDistribution distribution) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); RelTraitSet traitSet = input.getTraitSet().replace(Convention.NONE).replace(distribution); return new LogicalExchange(cluster, traitSet, input, distribution); }
/** * Creates a LogicalExchange. * * @param input Input relational expression * @param distribution Distribution specification */ public static LogicalExchange create(RelNode input, RelDistribution distribution) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); RelTraitSet traitSet = input.getTraitSet().replace(Convention.NONE).replace(distribution); return new LogicalExchange(cluster, traitSet, input, distribution); }
/** * Creates an Exchange by parsing serialized output. */ public Exchange(RelInput input) { this(input.getCluster(), input.getTraitSet().plus(input.getCollation()), input.getInput(), RelDistributionTraitDef.INSTANCE.canonize(input.getDistribution())); }
/** * Creates a Exchange by parsing serialized output. */ public Exchange(RelInput input) { this(input.getCluster(), input.getTraitSet().plus(input.getCollation()), input.getInput(), RelDistributionTraitDef.INSTANCE.canonize(input.getDistribution())); }
/** * Creates a HiveSortExchange. * * @param input Input relational expression * @param distribution Distribution specification * @param collation Collation specification * @param joinKeys Join Keys specification */ public static HiveSortExchange create(RelNode input, RelDistribution distribution, RelCollation collation, ImmutableList<RexNode> joinKeys) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); collation = RelCollationTraitDef.INSTANCE.canonize(collation); RelTraitSet traitSet = RelTraitSet.createEmpty().plus(distribution).plus(collation); return new HiveSortExchange(cluster, traitSet, input, distribution, collation, joinKeys); }
/** * Creates a LogicalSortExchange. * * @param input Input relational expression * @param distribution Distribution specification * @param collation array of sort specifications */ public static LogicalSortExchange create( RelNode input, RelDistribution distribution, RelCollation collation) { RelOptCluster cluster = input.getCluster(); collation = RelCollationTraitDef.INSTANCE.canonize(collation); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); RelTraitSet traitSet = input.getTraitSet().replace(Convention.NONE).replace(distribution).replace(collation); return new LogicalSortExchange(cluster, traitSet, input, distribution, collation); }
/** * Creates a SortExchange by parsing serialized output. */ public SortExchange(RelInput input) { this(input.getCluster(), input.getTraitSet().plus(input.getCollation()) .plus(input.getDistribution()), input.getInput(), RelDistributionTraitDef.INSTANCE.canonize(input.getDistribution()), RelCollationTraitDef.INSTANCE.canonize(input.getCollation())); }
/** * Creates a SortExchange by parsing serialized output. */ public SortExchange(RelInput input) { this(input.getCluster(), input.getTraitSet().plus(input.getCollation()) .plus(input.getDistribution()), input.getInput(), RelDistributionTraitDef.INSTANCE.canonize(input.getDistribution()), RelCollationTraitDef.INSTANCE.canonize(input.getCollation())); }