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