public Operator convert()

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");
    }