public RelNode convert(RelNode rel) {
final Sort sort = (Sort) rel;
final RelTraitSet traitSet =
sort.getTraitSet().replace(out)
.replace(sort.getCollation());
return new MongoSort(rel.getCluster(), traitSet,
convert(sort.getInput(), traitSet.replace(RelCollations.EMPTY)),
sort.getCollation(), sort.offset, sort.fetch);
}
|
public void registerConverterRule(
RelOptPlanner planner,
ConverterRule converterRule) {
if (!converterRule.isGuaranteed()) {
return;
}
RelTrait fromTrait = converterRule.getInTrait();
RelTrait toTrait = converterRule.getOutTrait();
conversionMap.put(fromTrait, Pair.of(toTrait, converterRule));
}
|