You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2015/02/17 20:26:43 UTC

incubator-calcite git commit: [CALCITE-599] EquiJoin in wrong package (Jesus Camacho Rodriguez)

Repository: incubator-calcite
Updated Branches:
  refs/heads/master 0cb94951d -> c493108d3


[CALCITE-599] EquiJoin in wrong package (Jesus Camacho Rodriguez)

Close apache/incubator-calcite#53


Project: http://git-wip-us.apache.org/repos/asf/incubator-calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-calcite/commit/c493108d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-calcite/tree/c493108d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-calcite/diff/c493108d

Branch: refs/heads/master
Commit: c493108d38af2c152a0de48c98eec210fd5ae9fc
Parents: 0cb9495
Author: Jesus Camacho Rodriguez <jc...@hortonworks.com>
Authored: Tue Feb 17 08:56:42 2015 +0000
Committer: Julian Hyde <jh...@apache.org>
Committed: Tue Feb 17 10:59:11 2015 -0800

----------------------------------------------------------------------
 .../adapter/enumerable/EnumerableJoin.java      |  2 +-
 .../adapter/enumerable/EnumerableMergeJoin.java |  2 +-
 .../apache/calcite/adapter/jdbc/JdbcRules.java  |  2 +-
 .../org/apache/calcite/rel/core/EquiJoin.java   | 59 ++++++++++++++++++++
 .../org/apache/calcite/rel/core/JoinInfo.java   |  2 +-
 .../org/apache/calcite/rel/core/SemiJoin.java   |  1 -
 .../org/apache/calcite/rel/rules/EquiJoin.java  | 31 +++-------
 .../calcite/rel/rules/FilterJoinRule.java       |  1 +
 .../rel/rules/ReduceExpressionsRule.java        |  1 +
 9 files changed, 72 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoin.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoin.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoin.java
index 052979f..ff80993 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoin.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoin.java
@@ -26,10 +26,10 @@ import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.InvalidRelException;
 import org.apache.calcite.rel.RelNode;
 import org.apache.calcite.rel.RelNodes;
+import org.apache.calcite.rel.core.EquiJoin;
 import org.apache.calcite.rel.core.JoinInfo;
 import org.apache.calcite.rel.core.JoinRelType;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.rules.EquiJoin;
 import org.apache.calcite.rex.RexNode;
 import org.apache.calcite.util.BuiltInMethod;
 import org.apache.calcite.util.ImmutableIntList;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java
index c370eb9..be0d821 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java
@@ -28,11 +28,11 @@ import org.apache.calcite.rel.RelCollation;
 import org.apache.calcite.rel.RelCollationTraitDef;
 import org.apache.calcite.rel.RelCollations;
 import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.EquiJoin;
 import org.apache.calcite.rel.core.JoinInfo;
 import org.apache.calcite.rel.core.JoinRelType;
 import org.apache.calcite.rel.metadata.RelMdCollation;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.rules.EquiJoin;
 import org.apache.calcite.rex.RexLiteral;
 import org.apache.calcite.rex.RexNode;
 import org.apache.calcite.util.BuiltInMethod;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java b/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
index 7fa748a..fa25da2 100644
--- a/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
+++ b/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
@@ -38,6 +38,7 @@ import org.apache.calcite.rel.SingleRel;
 import org.apache.calcite.rel.convert.ConverterRule;
 import org.apache.calcite.rel.core.Aggregate;
 import org.apache.calcite.rel.core.AggregateCall;
+import org.apache.calcite.rel.core.EquiJoin;
 import org.apache.calcite.rel.core.Filter;
 import org.apache.calcite.rel.core.Intersect;
 import org.apache.calcite.rel.core.JoinInfo;
@@ -59,7 +60,6 @@ import org.apache.calcite.rel.logical.LogicalTableModify;
 import org.apache.calcite.rel.logical.LogicalUnion;
 import org.apache.calcite.rel.logical.LogicalValues;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.rules.EquiJoin;
 import org.apache.calcite.rel.type.RelDataType;
 import org.apache.calcite.rex.RexInputRef;
 import org.apache.calcite.rex.RexLiteral;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/core/EquiJoin.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/core/EquiJoin.java b/core/src/main/java/org/apache/calcite/rel/core/EquiJoin.java
new file mode 100644
index 0000000..3a06c86
--- /dev/null
+++ b/core/src/main/java/org/apache/calcite/rel/core/EquiJoin.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.calcite.rel.core;
+
+import org.apache.calcite.plan.RelOptCluster;
+import org.apache.calcite.plan.RelTraitSet;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.util.ImmutableIntList;
+
+import com.google.common.base.Preconditions;
+
+import java.util.Set;
+
+/**
+ * Base class for any join whose condition is based on column equality.
+ */
+public abstract class EquiJoin extends Join {
+  public final ImmutableIntList leftKeys;
+  public final ImmutableIntList rightKeys;
+
+  /** Creates an EquiJoin. */
+  public EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left,
+      RelNode right, RexNode condition, ImmutableIntList leftKeys,
+      ImmutableIntList rightKeys, JoinRelType joinType,
+      Set<String> variablesStopped) {
+    super(cluster, traits, left, right, condition, joinType, variablesStopped);
+    this.leftKeys = Preconditions.checkNotNull(leftKeys);
+    this.rightKeys = Preconditions.checkNotNull(rightKeys);
+  }
+
+  public ImmutableIntList getLeftKeys() {
+    return leftKeys;
+  }
+
+  public ImmutableIntList getRightKeys() {
+    return rightKeys;
+  }
+
+  @Override public JoinInfo analyzeCondition() {
+    return JoinInfo.of(leftKeys, rightKeys);
+  }
+}
+
+// End EquiJoin.java

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/core/JoinInfo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/core/JoinInfo.java b/core/src/main/java/org/apache/calcite/rel/core/JoinInfo.java
index 8c20bd9..933eb0b 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/JoinInfo.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/JoinInfo.java
@@ -38,7 +38,7 @@ import java.util.List;
  * <p>You can create one using {@link #of}, or call
  * {@link Join#analyzeCondition()}; many kinds of join cache their
  * join info, especially those that are equi-joins and sub-class
- * {@link org.apache.calcite.rel.rules.EquiJoin}.</p>
+ * {@link org.apache.calcite.rel.core.EquiJoin}.</p>
  *
  * @see Join#analyzeCondition() */
 public abstract class JoinInfo {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java b/core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java
index 17347bf..65f7887 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java
@@ -22,7 +22,6 @@ import org.apache.calcite.plan.RelOptPlanner;
 import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.RelNode;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.rules.EquiJoin;
 import org.apache.calcite.rel.type.RelDataType;
 import org.apache.calcite.rel.type.RelDataTypeField;
 import org.apache.calcite.rex.RexNode;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/rules/EquiJoin.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/EquiJoin.java b/core/src/main/java/org/apache/calcite/rel/rules/EquiJoin.java
index d017f1e..32f4606 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/EquiJoin.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/EquiJoin.java
@@ -19,43 +19,26 @@ package org.apache.calcite.rel.rules;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.RelNode;
-import org.apache.calcite.rel.core.Join;
-import org.apache.calcite.rel.core.JoinInfo;
 import org.apache.calcite.rel.core.JoinRelType;
 import org.apache.calcite.rex.RexNode;
 import org.apache.calcite.util.ImmutableIntList;
 
-import com.google.common.base.Preconditions;
-
 import java.util.Set;
 
 /**
  * Base class for any join whose condition is based on column equality.
+ *
+ * @deprecated Use
+ * {@link org.apache.calcite.rel.core.EquiJoin EquiJoin in 'core' package}
  */
-public abstract class EquiJoin extends Join {
-  public final ImmutableIntList leftKeys;
-  public final ImmutableIntList rightKeys;
-
-  /** Creates an EquiJoin. */
+@Deprecated // to be removed before 2.0
+public abstract class EquiJoin extends org.apache.calcite.rel.core.EquiJoin {
   public EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left,
       RelNode right, RexNode condition, ImmutableIntList leftKeys,
       ImmutableIntList rightKeys, JoinRelType joinType,
       Set<String> variablesStopped) {
-    super(cluster, traits, left, right, condition, joinType, variablesStopped);
-    this.leftKeys = Preconditions.checkNotNull(leftKeys);
-    this.rightKeys = Preconditions.checkNotNull(rightKeys);
-  }
-
-  public ImmutableIntList getLeftKeys() {
-    return leftKeys;
-  }
-
-  public ImmutableIntList getRightKeys() {
-    return rightKeys;
-  }
-
-  @Override public JoinInfo analyzeCondition() {
-    return JoinInfo.of(leftKeys, rightKeys);
+    super(cluster, traits, left, right, condition, leftKeys, rightKeys,
+        joinType, variablesStopped);
   }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java b/core/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java
index fdfb359..baf0c5b 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java
@@ -21,6 +21,7 @@ import org.apache.calcite.plan.RelOptRuleCall;
 import org.apache.calcite.plan.RelOptRuleOperand;
 import org.apache.calcite.plan.RelOptUtil;
 import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.EquiJoin;
 import org.apache.calcite.rel.core.Filter;
 import org.apache.calcite.rel.core.Join;
 import org.apache.calcite.rel.core.JoinRelType;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/c493108d/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
index 7e54253..01b05f7 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
@@ -22,6 +22,7 @@ import org.apache.calcite.plan.RelOptRule;
 import org.apache.calcite.plan.RelOptRuleCall;
 import org.apache.calcite.plan.RelOptUtil;
 import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.EquiJoin;
 import org.apache.calcite.rel.core.Join;
 import org.apache.calcite.rel.core.JoinInfo;
 import org.apache.calcite.rel.logical.LogicalCalc;