Search in sources :

Example 26 with Prel

use of org.apache.drill.exec.planner.physical.Prel in project drill by apache.

the class FinalColumnReorderer method visitPrel.

@Override
public Prel visitPrel(Prel prel, Void value) throws RuntimeException {
    if (prel instanceof UnionPrel) {
        return addColumnOrderingBelowUnion(prel);
    }
    List<RelNode> children = Lists.newArrayList();
    boolean changed = false;
    for (Prel p : prel) {
        Prel newP = p.accept(this, null);
        if (newP != p) {
            changed = true;
        }
        children.add(newP);
    }
    if (changed) {
        return (Prel) prel.copy(prel.getTraitSet(), children);
    } else {
        return prel;
    }
}
Also used : RelNode(org.apache.calcite.rel.RelNode) UnionPrel(org.apache.drill.exec.planner.physical.UnionPrel) UnionPrel(org.apache.drill.exec.planner.physical.UnionPrel) Prel(org.apache.drill.exec.planner.physical.Prel) ProjectPrel(org.apache.drill.exec.planner.physical.ProjectPrel) ScreenPrel(org.apache.drill.exec.planner.physical.ScreenPrel) WriterPrel(org.apache.drill.exec.planner.physical.WriterPrel)

Example 27 with Prel

use of org.apache.drill.exec.planner.physical.Prel in project drill by apache.

the class PrelVisualizerVisitor method visitChildren.

private void visitChildren(Prel prel, VisualizationState value) throws Exception {
    value.indent();
    value.out.append("children = [\n");
    value.push();
    for (Prel child : prel) {
        child.accept(this, value);
    }
    value.pop();
    value.indent();
    value.out.append("]\n");
}
Also used : ScanPrel(org.apache.drill.exec.planner.physical.ScanPrel) Prel(org.apache.drill.exec.planner.physical.Prel) ExchangePrel(org.apache.drill.exec.planner.physical.ExchangePrel) ProjectPrel(org.apache.drill.exec.planner.physical.ProjectPrel) ScreenPrel(org.apache.drill.exec.planner.physical.ScreenPrel) WriterPrel(org.apache.drill.exec.planner.physical.WriterPrel) JoinPrel(org.apache.drill.exec.planner.physical.JoinPrel)

Aggregations

Prel (org.apache.drill.exec.planner.physical.Prel)27 RelNode (org.apache.calcite.rel.RelNode)20 ProjectPrel (org.apache.drill.exec.planner.physical.ProjectPrel)13 ScreenPrel (org.apache.drill.exec.planner.physical.ScreenPrel)9 WriterPrel (org.apache.drill.exec.planner.physical.WriterPrel)8 ExchangePrel (org.apache.drill.exec.planner.physical.ExchangePrel)7 ScanPrel (org.apache.drill.exec.planner.physical.ScanPrel)7 RelDataType (org.apache.calcite.rel.type.RelDataType)6 RexNode (org.apache.calcite.rex.RexNode)5 ProjectAllowDupPrel (org.apache.drill.exec.planner.physical.ProjectAllowDupPrel)5 JoinPrel (org.apache.drill.exec.planner.physical.JoinPrel)4 ArrayList (java.util.ArrayList)3 RelDataTypeField (org.apache.calcite.rel.type.RelDataTypeField)3 RexBuilder (org.apache.calcite.rex.RexBuilder)3 PhysicalPlan (org.apache.drill.exec.physical.PhysicalPlan)3 PhysicalOperator (org.apache.drill.exec.physical.base.PhysicalOperator)3 DrillRel (org.apache.drill.exec.planner.logical.DrillRel)3 RelRecordType (org.apache.calcite.rel.type.RelRecordType)2 FlattenPrel (org.apache.drill.exec.planner.physical.FlattenPrel)2 UnionPrel (org.apache.drill.exec.planner.physical.UnionPrel)2