You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ad...@apache.org on 2015/09/20 17:14:16 UTC
drill git commit: DRILL-3809: Make PrelFinalizer have instances
rather than a single Prel since RelShuttleImpl has internal state.
Repository: drill
Updated Branches:
refs/heads/master 1716cb083 -> 092903dfd
DRILL-3809: Make PrelFinalizer have instances rather than a single Prel since RelShuttleImpl has internal state.
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/092903df
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/092903df
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/092903df
Branch: refs/heads/master
Commit: 092903dfda54f3c157081fc0c01dca0b2b78bde5
Parents: 1716cb0
Author: Jacques Nadeau <ja...@apache.org>
Authored: Sat Sep 19 17:40:05 2015 -0700
Committer: adeneche <ad...@gmail.com>
Committed: Sun Sep 20 08:13:48 2015 -0700
----------------------------------------------------------------------
.../planner/sql/handlers/DefaultSqlHandler.java | 19 +++++++++++++++++--
.../planner/sql/handlers/PrelFinalizable.java | 18 ------------------
2 files changed, 17 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/092903df/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DefaultSqlHandler.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DefaultSqlHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DefaultSqlHandler.java
index 53b57bc..1eddcf3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DefaultSqlHandler.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DefaultSqlHandler.java
@@ -253,6 +253,21 @@ public class DefaultSqlHandler extends AbstractSqlHandler {
topPreservedNameProj);
}
+ /**
+ * A shuttle designed to finalize all RelNodes.
+ */
+ private static class PrelFinalizer extends RelShuttleImpl {
+
+ @Override
+ public RelNode visit(RelNode other) {
+ if (other instanceof PrelFinalizable) {
+ return ((PrelFinalizable) other).finalizeRel();
+ } else {
+ return super.visit(other);
+ }
+ }
+
+ }
protected Prel convertToPrel(RelNode drel) throws RelConversionException, SqlUnsupportedException {
Preconditions.checkArgument(drel.getConvention() == DrillRel.DRILL_LOGICAL);
@@ -260,7 +275,7 @@ public class DefaultSqlHandler extends AbstractSqlHandler {
Prel phyRelNode;
try {
final RelNode relNode = planner.transform(DrillSqlWorker.PHYSICAL_MEM_RULES, traits, drel);
- phyRelNode = (Prel) relNode.accept(PrelFinalizable.SHUTTLE);
+ phyRelNode = (Prel) relNode.accept(new PrelFinalizer());
} catch (RelOptPlanner.CannotPlanException ex) {
logger.error(ex.getMessage());
@@ -283,7 +298,7 @@ public class DefaultSqlHandler extends AbstractSqlHandler {
try {
final RelNode relNode = planner.transform(DrillSqlWorker.PHYSICAL_MEM_RULES, traits, drel);
- phyRelNode = (Prel) relNode.accept(PrelFinalizable.SHUTTLE);
+ phyRelNode = (Prel) relNode.accept(new PrelFinalizer());
} catch (RelOptPlanner.CannotPlanException ex) {
logger.error(ex.getMessage());
http://git-wip-us.apache.org/repos/asf/drill/blob/092903df/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/PrelFinalizable.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/PrelFinalizable.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/PrelFinalizable.java
index 1eadb09..e6eae37 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/PrelFinalizable.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/PrelFinalizable.java
@@ -17,9 +17,6 @@
*/
package org.apache.drill.exec.planner.sql.handlers;
-import org.apache.calcite.rel.RelNode;
-import org.apache.calcite.rel.RelShuttle;
-import org.apache.calcite.rel.RelShuttleImpl;
import org.apache.drill.exec.planner.physical.Prel;
/**
@@ -29,19 +26,4 @@ import org.apache.drill.exec.planner.physical.Prel;
public interface PrelFinalizable {
Prel finalizeRel();
- /**
- * A shuttle designed to finalize all RelNodes.
- */
- RelShuttle SHUTTLE = new RelShuttleImpl() {
-
- @Override
- public RelNode visit(RelNode other) {
- if (other instanceof PrelFinalizable) {
- return ((PrelFinalizable) other).finalizeRel();
- } else {
- return super.visit(other);
- }
- }
-
- };
}