-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18075/#review34641
-----------------------------------------------------------

Ship it!


+1 for the patch.
Thanks Hyunsik, I checked it.:)

- Jung JaeHwa


On Feb. 17, 2014, 8:25 a.m., Hyunsik Choi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18075/
> -----------------------------------------------------------
> 
> (Updated Feb. 17, 2014, 8:25 a.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-595
>     https://issues.apache.org/jira/browse/TAJO-595
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> Currently, LogicalPlanner and ProjectionPushDownRule do not allow the same 
> expressions with different alias names. The following query is an example of 
> this restriction.
> 
> {code}
> select l_orderkey + 1 as total1, orderkey + 1 as total2 from ..
> {code}
> 
> The main cause of this bug is that NamedExprManager and TargetListManager 
> only keep 1:1 mapping relationship between alias and expression. This patch 
> changes them to keep 1:N mapping relationship.
> 
> 
> Diffs
> -----
> 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/LiteralValue.java 
> f7d77203dd098e13520865bd21427f1891d6818e 
>   
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Schema.java
>  2f57ff213c038e029f8b550ce0a7fddc51a9e630 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/EvalNode.java
>  5578043a93fe5c064b54d690f4cbd9a58d8dcc5a 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java
>  6363bf6452f97e6f311e30ddab01caab2d264081 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprsVerifier.java
>  c473ac16cb98f526737acc0e50f18780b746aa6e 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/InsertNode.java
>  d9645a4b98cfd886ae7b40de4b964ad10fb75a5d 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java
>  98909437c155d8b3a5d076056de47a330b991fbc 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java
>  df9b952ed704a75baa0c257a60513f3914bb59d5 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java
>  9c58b7de2a855e6713ea1ccaa79c5b5cc1468358 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
>  9a8fd51877b36f29adca6ebb33e01569f54ca963 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
>  6ce7bdfabca447f3f42b4bd75f09722fa4501ad5 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlanString.java
>  4ecad6042f9db1ba4f3b77fc411d883652b6ee0d 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java
>  e9293de3e847c0a0d543864d5ede6c779a720d92 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java
>  fe93f46dfa87ddfc862c369ea490273aff8d8a10 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
>  d040d7e635bb912cace3f0625c9c815e94395c54 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java
>  c266bbcba9861fcde21efa5f142ebe4678aaa5a4 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java
>  4dda7affd60fd7ed4ed097821b95664dfde8fa7b 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ExceptNode.java
>  0520214f6261f54a94689ccac8ea30712d923f1f 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java
>  58fa6e294b83f7282140a7d8b03cfe3c2a2eb178 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/HavingNode.java
>  f4eafd098fe5e9f4b18089af6cddcdf3684f27f6 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/IntersectNode.java
>  493698dacc578af4f6971a33e6a4920200a835dd 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java
>  2628c3be5ce4558de8fd5993761ae25f8303153a 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LimitNode.java
>  197a5bcd96ca39a9519a8149671ddafaf6781607 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LogicalRootNode.java
>  72f5ee8f34873b95b7615b2f4462116248f11823 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/PartitionedTableScanNode.java
>  824e858f33bdbbc50ed5974fad88445677013fec 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/PersistentStoreNode.java
>  2a357c48724c15975a792cdc22f52710baebb548 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/Projectable.java
>  d72b31ef48f464b760cb3624c44dd285ab1ba3b6 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ProjectionNode.java
>  1a219a6fda69164c309270e6cd0c62f72a4a4471 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java
>  155c09f3ae6412767edb54605c4264963d2539b2 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SelectionNode.java
>  b39ade3e75296ac47804e48493ad6ff02f24ea12 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SortNode.java
>  00c84852fc11d433768ec18ddb4c93938a069790 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/StoreTableNode.java
>  47e33c73885a3cb946700b0b7905436eee4ae488 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java
>  01d17de7c6a41584fdb9fe65bb4056c60fb8058a 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/UnionNode.java
>  56ca14623091680605eb036d55087f9cc34cacfd 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java
>  7aa37bd27fa008153ca3d2d0062e5f9fae8bf1f5 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java
>  6c56964a38f7b4a08cd899223f7bb4932a55239d 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java
>  8ea824e208b9fcadbe12a32d477c545cc57a3627 
>   
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
>  25f61f5f1fc5e0d6d90c11e4b3bbeb38d17647ea 
>   
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
>  5860b38b7f70bd04aa19c04e6aacd512de34a297 
>   
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
>  6c8581ffbe319bb4f7cb429adedf56d3484c6b32 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByWithSameExprs1.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByWithSameExprs2.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinCoReferredEvalsWithSameExprs1.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinCoReferredEvalsWithSameExprs2.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinRefEval.sql
>   
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testSelectAsterisk5.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testSelectSameExprsWithDifferentAliases.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByWithSameExprs1.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByWithSameExprs2.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinOnPartitionedTables/testPartialFilterPushDown.result
>  f3fc0d327567e162811fbaa2f7e9f20e1ff63fbe 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinCoReferredEvalsWithSameExprs1.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinCoReferredEvalsWithSameExprs2.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinRefEval.result
>   
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSelectQuery/testSelectAsterisk5.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSelectQuery/testSelectSameExprsWithDifferentAliases.result
>  PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/18075/diff/
> 
> 
> Testing
> -------
> 
> mvn clean install
> 
> 
> Thanks,
> 
> Hyunsik Choi
> 
>

Reply via email to