You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jc...@apache.org on 2017/06/29 08:57:29 UTC
calcite git commit: [CALCITE-1859] NPE in validate method of
VolcanoPlanner
Repository: calcite
Updated Branches:
refs/heads/master cdb30028a -> a2faf47b0
[CALCITE-1859] NPE in validate method of VolcanoPlanner
Close apache/calcite#483
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/a2faf47b
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/a2faf47b
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/a2faf47b
Branch: refs/heads/master
Commit: a2faf47b0f2bc98482a39ff51c23f7b92c118fee
Parents: cdb3002
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Tue Jun 27 16:37:06 2017 +0100
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Thu Jun 29 09:55:58 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/calcite/plan/volcano/VolcanoPlanner.java | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/a2faf47b/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java b/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
index 1ca7491..f364704 100644
--- a/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
+++ b/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
@@ -888,7 +888,6 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
* Checks internal consistency.
*/
protected void validate() {
- final RelMetadataQuery mq = root.getCluster().getMetadataQuery();
for (RelSet set : allSets) {
if (set.equivalentSet != null) {
throw new AssertionError(
@@ -902,7 +901,7 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
+ "] is in wrong set [" + set + "]");
}
for (RelNode rel : subset.getRels()) {
- RelOptCost relCost = getCost(rel, mq);
+ RelOptCost relCost = getCost(rel, rel.getCluster().getMetadataQuery());
if (relCost.isLt(subset.bestCost)) {
throw new AssertionError(
"rel [" + rel.getDescription()
@@ -1169,7 +1168,6 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
* @see #normalizePlan(String)
*/
public void dump(PrintWriter pw) {
- final RelMetadataQuery mq = root.getCluster().getMetadataQuery();
pw.println("Root: " + root.getDescription());
pw.println("Original rel:");
pw.println(originalRootString);
@@ -1222,6 +1220,7 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
if (importance != null) {
pw.print(", importance=" + importance);
}
+ RelMetadataQuery mq = rel.getCluster().getMetadataQuery();
pw.print(", rowcount=" + mq.getRowCount(rel));
pw.println(", cumulative cost=" + getCost(rel, mq));
}