You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by hy...@apache.org on 2019/10/15 20:58:17 UTC
[calcite] branch master updated: [CALCITE-3403] RelMetadataQuery
reuse (Jin Xing)
This is an automated email from the ASF dual-hosted git repository.
hyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/master by this push:
new 3cbbafa [CALCITE-3403] RelMetadataQuery reuse (Jin Xing)
3cbbafa is described below
commit 3cbbafa941128dc5097c2a26711f5751f764e12d
Author: jinxing <ji...@gmail.com>
AuthorDate: Tue Oct 15 19:31:12 2019 +0800
[CALCITE-3403] RelMetadataQuery reuse (Jin Xing)
---
.../org/apache/calcite/adapter/enumerable/EnumerableCalc.java | 2 +-
.../main/java/org/apache/calcite/plan/AbstractRelOptPlanner.java | 2 +-
core/src/main/java/org/apache/calcite/rel/AbstractRelNode.java | 8 ++++----
core/src/main/java/org/apache/calcite/rel/core/Filter.java | 4 ++--
core/src/main/java/org/apache/calcite/rel/core/Join.java | 2 +-
core/src/main/java/org/apache/calcite/rel/core/Union.java | 2 +-
.../java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
index 54eec73..6d01710 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
@@ -143,7 +143,7 @@ public class EnumerableCalc extends Calc implements EnumerableRel {
inputJavaType);
final RexBuilder rexBuilder = getCluster().getRexBuilder();
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = getCluster().getMetadataQuery();
final RelOptPredicateList predicates = mq.getPulledUpPredicates(child);
final RexSimplify simplify =
new RexSimplify(rexBuilder, predicates, RexUtil.EXECUTOR);
diff --git a/core/src/main/java/org/apache/calcite/plan/AbstractRelOptPlanner.java b/core/src/main/java/org/apache/calcite/plan/AbstractRelOptPlanner.java
index 48af98d..93c16f2 100644
--- a/core/src/main/java/org/apache/calcite/plan/AbstractRelOptPlanner.java
+++ b/core/src/main/java/org/apache/calcite/plan/AbstractRelOptPlanner.java
@@ -248,7 +248,7 @@ public abstract class AbstractRelOptPlanner implements RelOptPlanner {
@SuppressWarnings("deprecation")
public RelOptCost getCost(RelNode rel) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = rel.getCluster().getMetadataQuery();
return getCost(rel, mq);
}
diff --git a/core/src/main/java/org/apache/calcite/rel/AbstractRelNode.java b/core/src/main/java/org/apache/calcite/rel/AbstractRelNode.java
index d957ea2..20f264f 100644
--- a/core/src/main/java/org/apache/calcite/rel/AbstractRelNode.java
+++ b/core/src/main/java/org/apache/calcite/rel/AbstractRelNode.java
@@ -158,13 +158,13 @@ public abstract class AbstractRelNode implements RelNode {
@SuppressWarnings("deprecation")
public boolean isDistinct() {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = cluster.getMetadataQuery();
return Boolean.TRUE.equals(mq.areRowsUnique(this));
}
@SuppressWarnings("deprecation")
public boolean isKey(ImmutableBitSet columns) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = cluster.getMetadataQuery();
return Boolean.TRUE.equals(mq.areColumnsUnique(this, columns));
}
@@ -236,7 +236,7 @@ public abstract class AbstractRelNode implements RelNode {
@SuppressWarnings("deprecation")
public final double getRows() {
- return estimateRowCount(RelMetadataQuery.instance());
+ return estimateRowCount(cluster.getMetadataQuery());
}
public double estimateRowCount(RelMetadataQuery mq) {
@@ -278,7 +278,7 @@ public abstract class AbstractRelNode implements RelNode {
@SuppressWarnings("deprecation")
public final RelOptCost computeSelfCost(RelOptPlanner planner) {
- return computeSelfCost(planner, RelMetadataQuery.instance());
+ return computeSelfCost(planner, cluster.getMetadataQuery());
}
public RelOptCost computeSelfCost(RelOptPlanner planner,
diff --git a/core/src/main/java/org/apache/calcite/rel/core/Filter.java b/core/src/main/java/org/apache/calcite/rel/core/Filter.java
index b539d09..c3c023e 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/Filter.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/Filter.java
@@ -138,13 +138,13 @@ public abstract class Filter extends SingleRel {
@Deprecated // to be removed before 2.0
public static double estimateFilteredRows(RelNode child, RexProgram program) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = child.getCluster().getMetadataQuery();
return RelMdUtil.estimateFilteredRows(child, program, mq);
}
@Deprecated // to be removed before 2.0
public static double estimateFilteredRows(RelNode child, RexNode condition) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = child.getCluster().getMetadataQuery();
return RelMdUtil.estimateFilteredRows(child, condition, mq);
}
diff --git a/core/src/main/java/org/apache/calcite/rel/core/Join.java b/core/src/main/java/org/apache/calcite/rel/core/Join.java
index f201a8d..57339d9 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/Join.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/Join.java
@@ -196,7 +196,7 @@ public abstract class Join extends BiRel {
public static double estimateJoinedRows(
Join joinRel,
RexNode condition) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = joinRel.getCluster().getMetadataQuery();
return Util.first(RelMdUtil.getJoinRowCount(mq, joinRel, condition), 1D);
}
diff --git a/core/src/main/java/org/apache/calcite/rel/core/Union.java b/core/src/main/java/org/apache/calcite/rel/core/Union.java
index 942df4a..7bc755a 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/Union.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/Union.java
@@ -62,7 +62,7 @@ public abstract class Union extends SetOp {
@Deprecated // to be removed before 2.0
public static double estimateRowCount(RelNode rel) {
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = rel.getCluster().getMetadataQuery();
return RelMdUtil.getUnionAllRowCount(mq, (Union) rel);
}
}
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 e91dc88..c3b5a3e 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
@@ -472,7 +472,7 @@ public abstract class ReduceExpressionsRule extends RelOptRule {
@Override public void onMatch(RelOptRuleCall call) {
LogicalWindow window = call.rel(0);
RexBuilder rexBuilder = window.getCluster().getRexBuilder();
- final RelMetadataQuery mq = RelMetadataQuery.instance();
+ final RelMetadataQuery mq = call.getMetadataQuery();
final RelOptPredicateList predicates = mq
.getPulledUpPredicates(window.getInput());