in wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/WayangRelConverter.java [52:71]
public Operator convert(final RelNode node) {
if (node instanceof WayangTableScan) {
return new WayangTableScanVisitor(this).visit((WayangTableScan) node);
} else if (node instanceof WayangProject) {
return new WayangProjectVisitor(this).visit((WayangProject) node);
} else if (node instanceof WayangFilter) {
return new WayangFilterVisitor(this).visit((WayangFilter) node);
} else if (node instanceof WayangSort) {
return new WayangSortVisitor(this).visit((WayangSort) node);
} else if (node instanceof WayangJoin && ((WayangJoin) node).getCondition().isA(SqlKind.AND)) {
return new WayangMultiConditionJoinVisitor(this).visit((WayangJoin) node);
} else if (node instanceof WayangJoin && WayangJoin.class.cast(node).getCondition().isAlwaysTrue()) {
return new WayangCrossJoinVisitor(this).visit((WayangJoin) node);
} else if (node instanceof WayangJoin) {
return new WayangJoinVisitor(this).visit((WayangJoin) node);
} else if (node instanceof WayangAggregate) {
return new WayangAggregateVisitor(this).visit((WayangAggregate) node);
}
throw new IllegalStateException("Operator translation not supported yet");
}