[
https://issues.apache.org/jira/browse/TAJO-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14095156#comment-14095156
]
Hudson commented on TAJO-895:
-----------------------------
SUCCESS: Integrated in Tajo-master-build #334 (See
[https://builds.apache.org/job/Tajo-master-build/334/])
TAJO-895: ConstEval should not be included in target list of projectable nodes.
(hyunsik: rev 7e31a320144d2da6aae795f29d3bd9bbb16f9338)
*
tajo-core/src/test/resources/queries/TestJoinQuery/testLeftOuterJoinWithConstantExpr5.sql
*
tajo-core/src/test/resources/queries/TestJoinQuery/testLeftOuterJoinWithConstantExpr4.sql
*
tajo-core/src/test/resources/queries/TestGroupByQuery/testGroupByWithConstantKeys5.sql
* tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
*
tajo-core/src/test/resources/results/TestGroupByQuery/testGroupByWithConstantKeys4.result
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java
*
tajo-core/src/test/resources/results/TestGroupByQuery/testGroupByWithConstantKeys3.result
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
* tajo-core/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java
*
tajo-core/src/test/resources/results/TestJoinQuery/testLeftOuterJoinWithConstantExpr5.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/TypeDeterminant.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
* tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java
*
tajo-core/src/test/resources/queries/TestGroupByQuery/testGroupByWithConstantKeys3.sql
* tajo-core/src/main/java/org/apache/tajo/engine/eval/FunctionEval.java
* tajo-core/src/main/java/org/apache/tajo/engine/optimizer/eval/Prioritized.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
* tajo-core/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java
*
tajo-core/src/test/resources/results/TestTajoCli/testLocalQueryWithoutFrom.result
* tajo-core/src/test/resources/queries/TestWindowQuery/testWindow8.sql
*
tajo-core/src/main/java/org/apache/tajo/engine/optimizer/eval/EvalTreeOptimizationRule.java
*
tajo-core/src/test/resources/results/TestGroupByQuery/testGroupByWithConstantKeys5.result
* tajo-core/src/main/java/org/apache/tajo/engine/eval/BinaryEval.java
*
tajo-core/src/test/resources/results/TestSortQuery/testSortWithConstKeys.result
*
tajo-core/src/test/resources/queries/TestGroupByQuery/testGroupByWithConstantKeys4.sql
*
tajo-core/src/test/resources/results/TestSelectQuery/testSelectAsterisk5.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
*
tajo-core/src/main/java/org/apache/tajo/engine/optimizer/eval/rules/ConstantFolding.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestWindowQuery.java
* tajo-core/src/test/resources/results/TestWindowQuery/testWindow8.result
*
tajo-core/src/main/java/org/apache/tajo/engine/optimizer/eval/rules/ConstantPropagation.java
* tajo-core/src/test/resources/queries/TestSortQuery/testSortWithConstKeys.sql
*
tajo-core/src/main/java/org/apache/tajo/engine/optimizer/eval/EvalTreeOptimizer.java
* CHANGES
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
*
tajo-core/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases3.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java
*
tajo-core/src/test/resources/results/TestJoinQuery/testLeftOuterJoinWithConstantExpr4.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java
*
tajo-core/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases3.sql
* tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java
> ConstEval should not be included in target list of projectable nodes
> --------------------------------------------------------------------
>
> Key: TAJO-895
> URL: https://issues.apache.org/jira/browse/TAJO-895
> Project: Tajo
> Issue Type: Improvement
> Components: planner/optimizer
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.9.0
>
>
> In some applications, aliased constant values can be used in WHERE, GROUP BY,
> HAVING, ORDER BY clauses. For those cases, current planner evaluates constant
> value in target list of projectable nodes.
> {code}
> SELECT '1994' end as year, ... FROM lineitem WHERE group by year;
> {code}
> This approach works well so far, but there are rooms for significant
> improvement.
> The main problem is that constant target requires many workaround code in
> NamedExprManager, and TargetListManager. As a result, it makes code
> complexity higher. The second problem is that many constant values evaluated
> in each row consume unnecessary I/O and network bandwidth for storing and
> transmitting.
> The solution seems to be simple. In logical planning phase, we should rewrite
> column references which actually indicates constant values.
--
This message was sent by Atlassian JIRA
(v6.2#6252)