public interface MongoRel extends RelNode {
void implement(Implementor implementor);
Convention CONVENTION = new Convention.Impl("MONGO", MongoRel.class);
class Implementor {
final List<Pair<String, String>> list =
new ArrayList<Pair<String, String>>();
RelOptTable table;
MongoTable mongoTable;
public void add(String findOp, String aggOp) {
list.add(Pair.of(findOp, aggOp));
}
public void visitChild(int ordinal, RelNode input) {
assert ordinal == 0;
((MongoRel) input).implement(this);
}
}
}
|