Package org.eigenbase.rel

Examples of org.eigenbase.rel.InvalidRelException


      JoinRelType joinType) throws InvalidRelException {
    super(cluster, traits, left, right, condition, joinType, Collections.<String> emptySet());

    RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, leftKeys, rightKeys);
    if (!remaining.isAlwaysTrue()) {
      throw new InvalidRelException("DrillJoinRel only supports equi-join");
    }
  }
View Full Code Here


  public DrillAggregateRel(RelOptCluster cluster, RelTraitSet traits, RelNode child, BitSet groupSet,
      List<AggregateCall> aggCalls) throws InvalidRelException {
    super(cluster, traits, child, groupSet, aggCalls);
    for (AggregateCall aggCall : aggCalls) {
      if (aggCall.isDistinct()) {
        throw new InvalidRelException("DrillAggregateRel does not support DISTINCT aggregates");
      }
    }
  }
View Full Code Here

  public MergeJoinPrel(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition,
      JoinRelType joinType) throws InvalidRelException {
    super(cluster, traits, left, right, condition, joinType);

    if (condition.isAlwaysTrue()) {
      throw new InvalidRelException("MergeJoinPrel does not support cartesian product join");
    }

    RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, leftKeys, rightKeys);
    if (!remaining.isAlwaysTrue() && (leftKeys.size() == 0 || rightKeys.size() == 0)) {
      throw new InvalidRelException("MergeJoinPrel only supports equi-join");
    }
  }
View Full Code Here

  public DrillUnionRelBase(RelOptCluster cluster, RelTraitSet traits,
      List<RelNode> inputs, boolean all) throws InvalidRelException {
    super(cluster, traits, inputs, all);
    // if (! this.isHomogeneous(false /* don't compare names */)) {
    if (! this.isCompatible(false /* don't compare names */, true /* allow substrings */)) {
      throw new InvalidRelException("Input row types of the Union are not compatible.");
    }
  }
View Full Code Here

      JoinRelType joinType) throws InvalidRelException {
    super(cluster, traits, left, right, condition, joinType);

    RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, leftKeys, rightKeys);
    if (!remaining.isAlwaysTrue() && (leftKeys.size() == 0 || rightKeys.size() == 0)) {
      throw new InvalidRelException("DrillJoinRel only supports equi-join");
    }
  }
View Full Code Here

    if (checkCartesian)  {
      List<Integer> tmpLeftKeys = Lists.newArrayList();
      List<Integer> tmpRightKeys = Lists.newArrayList();
      RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, tmpLeftKeys, tmpRightKeys);
      if (!remaining.isAlwaysTrue() && (tmpLeftKeys.size() == 0 || tmpRightKeys.size() == 0)) {
        throw new InvalidRelException("DrillJoinRel only supports equi-join");
      }
    }
    this.leftKeys = leftKeys;
    this.rightKeys = rightKeys;
  }
View Full Code Here

  public DrillUnionRelBase(RelOptCluster cluster, RelTraitSet traits,
      List<RelNode> inputs, boolean all) throws InvalidRelException {
    super(cluster, traits, inputs, all);
    // if (! this.isHomogeneous(false /* don't compare names */)) {
    if (! this.isCompatible(false /* don't compare names */, true /* allow substrings */)) {
      throw new InvalidRelException("Input row types of the Union are not compatible.");
    }
  }
View Full Code Here

      JoinRelType joinType) throws InvalidRelException {
    super(cluster, traits, left, right, condition, joinType);

    RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, leftKeys, rightKeys);
    if (!remaining.isAlwaysTrue() && (leftKeys.size() == 0 || rightKeys.size() == 0)) {
      throw new InvalidRelException("DrillJoinRel only supports equi-join");
    }
  }
View Full Code Here

    if (checkCartesian)  {
      List<Integer> tmpLeftKeys = Lists.newArrayList();
      List<Integer> tmpRightKeys = Lists.newArrayList();
      RexNode remaining = RelOptUtil.splitJoinCondition(left, right, condition, tmpLeftKeys, tmpRightKeys);
      if (!remaining.isAlwaysTrue() && (tmpLeftKeys.size() == 0 || tmpRightKeys.size() == 0)) {
        throw new InvalidRelException("DrillJoinRel only supports equi-join");
      }
    }
    this.leftKeys = leftKeys;
    this.rightKeys = rightKeys;
  }
View Full Code Here

TOP

Related Classes of org.eigenbase.rel.InvalidRelException

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.