Package org.eigenbase.rel

Examples of org.eigenbase.rel.RelNode


    return instance;
  }

  public RelNode flattenTypes(RelOptPlanner planner, RelNode rootRel,
      boolean restructure) {
    RelNode root2 =
        planner.changeTraits(rootRel,
            rootRel.getTraitSet().plus(SparkRel.CONVENTION));
    return planner.changeTraits(root2, rootRel.getTraitSet());
  }
View Full Code Here


  public static Program standard() {
    final Program program1 =
        new Program() {
          public RelNode run(RelOptPlanner planner, RelNode rel,
              RelTraitSet requiredOutputTraits) {
            final RelNode rootRel2 =
                planner.changeTraits(rel, requiredOutputTraits);
            assert rootRel2 != null;

            planner.setRoot(rootRel2);
            final RelOptPlanner planner2 = planner.chooseDelegate();
            final RelNode rootRel3 = planner2.findBestExp();
            assert rootRel3 != null : "could not implement exp";
            return rootRel3;
          }
        };
View Full Code Here

   * </pre>
   *
   * </ol>
   */
  public RelOptPredicateList getPredicates(ProjectRelBase project) {
    RelNode child = project.getChild();
    RelOptPredicateList childInfo =
        RelMetadataQuery.getPulledUpPredicates(child);

    List<RexNode> projectPullUpPredicates = new ArrayList<RexNode>();

    BitSet columnsMapped = new BitSet(child.getRowType().getFieldCount());
    Mapping m = Mappings.create(MappingType.PARTIAL_FUNCTION,
        child.getRowType().getFieldCount(),
        project.getRowType().getFieldCount());

    for (Ord<RexNode> o : Ord.zip(project.getProjects())) {
      if (o.e instanceof RexInputRef) {
        int sIdx = ((RexInputRef) o.e).getIndex();
View Full Code Here

  /**
   * Add the Filter condition to the pulledPredicates list from the child.
   */
  public RelOptPredicateList getPredicates(FilterRelBase filter) {
    RelNode child = filter.getChild();
    RelOptPredicateList childInfo =
        RelMetadataQuery.getPulledUpPredicates(child);

    return RelOptPredicateList.of(
        Iterables.concat(childInfo.pulledUpPredicates,
View Full Code Here

            RelOptUtil.conjunctions(filter.getCondition())));
  }

  public RelOptPredicateList getPredicates(JoinRelBase join) {
    RexBuilder rB = join.getCluster().getRexBuilder();
    RelNode left = join.getInput(0);
    RelNode right = join.getInput(1);

    RelOptPredicateList leftInfo =
        RelMetadataQuery.getPulledUpPredicates(left);
    RelOptPredicateList rightInfo =
        RelMetadataQuery.getPulledUpPredicates(right);
View Full Code Here

   * groupSet         : { a, b}
   * pulledUpExprs    : { a > 7}
   * </pre>
   */
  public RelOptPredicateList getPredicates(AggregateRelBase agg) {
    RelNode child = agg.getChild();
    RelOptPredicateList childInfo =
        RelMetadataQuery.getPulledUpPredicates(child);

    List<RexNode> aggPullUpPredicates = new ArrayList<RexNode>();

    BitSet groupKeys = agg.getGroupSet();
    Mapping m = Mappings.create(MappingType.PARTIAL_FUNCTION,
        child.getRowType().getFieldCount(), agg.getRowType().getFieldCount());

    int i = 0;
    for (int j : BitSets.toIter(groupKeys)) {
      m.set(j, i++);
    }
View Full Code Here

  /**
   * Infers predicates for a SortRel.
   */
  public RelOptPredicateList getPredicates(SortRel sort) {
    RelNode child = sort.getInput(0);
    return RelMetadataQuery.getPulledUpPredicates(child);
  }
View Full Code Here

  }

  @Override
  public void onMatch(RelOptRuleCall call) {
    final ProjectRel project = (ProjectRel) call.rel(0);
    final RelNode input = call.rel(1);
    final RelTraitSet traits = project.getTraitSet().plus(DrillRel.CONVENTION);
    final RelNode convertedInput = convert(input, traits);
    call.transformTo(new DrillProjectRel(project.getCluster(), traits, convertedInput, project.getProjects(), project
        .getRowType()));
  }
View Full Code Here

  }

  @Override
  public void onMatch(RelOptRuleCall call) {
    final SortRel sort = call.rel(0);
    final RelNode input = call.rel(1);
    final RelTraitSet traits = sort.getTraitSet().plus(DrillRel.CONVENTION);
    final RelTraitSet inputTraits = input.getTraitSet().plus(DrillRel.CONVENTION);
    final RelNode convertedInput = convert(input, inputTraits);
    call.transformTo(new DrillSortRel(sort.getCluster(), traits, convertedInput, sort.getCollation()));
  }
View Full Code Here

  }

  @Override
  public void onMatch(RelOptRuleCall call) {
    final FilterRel filter = (FilterRel) call.getRels()[0];
    final RelNode input = call.getRels()[1];
    final RelTraitSet traits = filter.getTraitSet().plus(DrillRel.CONVENTION);
    final RelNode convertedInput = convert(input, traits);
    call.transformTo(new DrillFilterRel(filter.getCluster(), traits, convertedInput, filter.getCondition()));
  }
View Full Code Here

TOP

Related Classes of org.eigenbase.rel.RelNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.