You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by ht...@apache.org on 2018/12/31 06:47:48 UTC

asterixdb git commit: [NO ISSUE] Refactoring plan optimization method

Repository: asterixdb
Updated Branches:
  refs/heads/master e99f652e7 -> 1cd58bced


[NO ISSUE] Refactoring plan optimization method

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Refactoring plan optimization method.

Change-Id: I8275bca00b41969444824cffd12f542d802bf26f
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3101
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <al...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1cd58bce
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1cd58bce
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1cd58bce

Branch: refs/heads/master
Commit: 1cd58bcedc71c1eb55ff483ff91fe3676e0f7090
Parents: e99f652
Author: Hussain Towaileb <Hu...@Gmail.com>
Authored: Sat Dec 29 12:55:54 2018 +0300
Committer: Hussain Towaileb <hu...@gmail.com>
Committed: Sun Dec 30 22:45:41 2018 -0800

----------------------------------------------------------------------
 .../core/rewriter/base/HeuristicOptimizer.java  | 32 ++++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1cd58bce/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
index a2a0ca1..2aacc0e 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
@@ -74,15 +74,12 @@ public class HeuristicOptimizer {
         if (plan == null) {
             return;
         }
-        if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) {
-            AlgebricksConfig.ALGEBRICKS_LOGGER.trace("Starting logical optimizations.\n");
-        }
 
-        logPlanAt("Logical Plan", Level.TRACE);
-        runOptimizationSets(plan, logicalRewrites);
+        logPlanAt("Plan Before Optimization", Level.TRACE);
+        runLogicalOptimizationSets(plan, logicalRewrites);
         computeSchemaBottomUpForPlan(plan);
-        runPhysicalOptimizations(plan, physicalRewrites);
-        logPlanAt("Optimized Plan", Level.TRACE);
+        runPhysicalOptimizationSets(plan, physicalRewrites);
+        logPlanAt("Plan After Optimization", Level.TRACE);
     }
 
     private void logPlanAt(String name, Level lvl) throws AlgebricksException {
@@ -94,9 +91,19 @@ public class HeuristicOptimizer {
         }
     }
 
+    private void runLogicalOptimizationSets(ILogicalPlan plan,
+            List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> optimizationSet)
+            throws AlgebricksException {
+        if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) {
+            AlgebricksConfig.ALGEBRICKS_LOGGER.trace("Starting logical optimizations.\n");
+        }
+        runOptimizationSets(plan, optimizationSet);
+    }
+
     private void runOptimizationSets(ILogicalPlan plan,
-            List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> optimSet) throws AlgebricksException {
-        for (Pair<AbstractRuleController, List<IAlgebraicRewriteRule>> ruleList : optimSet) {
+            List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> optimizationSet)
+            throws AlgebricksException {
+        for (Pair<AbstractRuleController, List<IAlgebraicRewriteRule>> ruleList : optimizationSet) {
             for (Mutable<ILogicalOperator> r : plan.getRoots()) {
                 ruleList.first.setContext(context);
                 ruleList.first.rewriteWithRuleCollection(r, ruleList.second);
@@ -123,13 +130,12 @@ public class HeuristicOptimizer {
         op.recomputeSchema();
     }
 
-    private void runPhysicalOptimizations(ILogicalPlan plan,
-            List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> physicalRewrites)
+    private void runPhysicalOptimizationSets(ILogicalPlan plan,
+            List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> optimizationSet)
             throws AlgebricksException {
         if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) {
             AlgebricksConfig.ALGEBRICKS_LOGGER.trace("Starting physical optimizations.\n");
         }
-        runOptimizationSets(plan, physicalRewrites);
+        runOptimizationSets(plan, optimizationSet);
     }
-
 }