[ 
https://issues.apache.org/jira/browse/TAJO-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874464#comment-13874464
 ] 

Tajo QA commented on TAJO-501:
------------------------------

{color:red}*-1 overall.*{color}  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12623580/TAJO-501.patch
  against master revision b822c28.

    {color:green}+1 @author.{color}  The patch does not contain any @author 
tags.

    {color:green}+1 tests included.{color}  The patch appears to include 91 new 
or modified test files.

    {color:red}-1 javac.{color}  The patch appears to cause the build to fail.

Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/53//console

This message is automatically generated.

> Rewrite the projection part of logical planning
> -----------------------------------------------
>
>                 Key: TAJO-501
>                 URL: https://issues.apache.org/jira/browse/TAJO-501
>             Project: Tajo
>          Issue Type: Improvement
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>            Priority: Critical
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-501.patch
>
>
> The projection part of LogicalPlanner was designed long time ago. It has 
> evolved to support many SQL expressions. However, due to its rough design, it 
> is hard to be improved for further SQL expressions and it causes many bugs.
> The current logical planner has the following problems:
> * other expressions except for column can be used in group-by clause.
>   ** TAJO-422
> * other expressions except for column can not be used in order-by clause.
>   ** TAJO-444
> * An expression including some aggregation function must be evaluated in 
> group-by executor.
>   ** As a result, some aggregation operator like HashAggregateExec has to 
> keep all intermediate results of a complex expression in a hash table.
>   ** It also causes frequent GC and large memory consumption.
> The too high code complexity also causes many bugs like
>  * TAJO-434 - java.lang.NullPointerException for invalid column name
>  * TAJO-428 - CASE WHEN IS NULL condition is a problem using LEFT OUTER JOIN
>  * TAJO-463 - ProjectionPushDownRule incorrectly rewrite the output schema of 
> StoreTableNode
>  * TAJO-443 - Order by query gives NullPointerException at at 
> org.apache.tajo.catalog.Schema.getColumnId(Schema.java:142)
> The major reason of this problem is as follows:
> * TargetListManager keeps only the final target list.
>   ** SELECT col1, sum(col2) as col2, ... <- the final target list
> * TargetListManager deals with each expression described in a target list or  
> other clauses like group-by clause as a singleton expression.
> The main objective of this issue is to rewrite the projection part of logical 
> planning in order to those problems.
> For 2 weeks, I've rewritten this part. I'll submit the patch soon.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to