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;