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);
-      }
-    }
-
-  };
 }