@Override public SortExchange copy(RelTraitSet traitSet, RelNode newInput, RelDistribution newDistribution, RelCollation newCollation) { return new LogicalSortExchange(this.getCluster(), traitSet, newInput, newDistribution, newCollation); } }
@Override public RelNode createSortExchange( RelNode input, RelDistribution distribution, RelCollation collation) { return LogicalSortExchange.create(input, distribution, collation); } }
/** * 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); }