ASF subversion and git services commented on ASTERIXDB-1081:

Commit e89ad03baa16e92b3116e2c49e48d8e7fe6f2789 in asterixdb's branch 
refs/heads/master from [~wangsaeu]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=e89ad03 ]

ASTERIXDB-1081, ASTERIXDB-1086, ASTERIXDB-1246: proper multiple plan paths 

 - ASTERIXDB-1081: Fixed RemoveUnusedAssignAndAggregateRule to reflect multiple 
paths in the plan.
 - ASTERIXDB-1086: Fixed IntroduceProjectsRule to reflect multiples paths in 
the plan.
 - ASTERIXDB-1246: Fixed RemoveRedundantGroupByDecorVarsRule to remove 
                   decor variables before IntroduceProjects rule fires.

Change-Id: I69e055572f024f28a857d4e64916b4806e63c083
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1073
Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <buyin...@gmail.com>
Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu>

> RemoveUnusedAssignAndAggregateRule bug - removes a variable that is used
> ------------------------------------------------------------------------
>                 Key: ASTERIXDB-1081
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1081
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB, Optimizer
>            Reporter: Taewoo Kim
>            Assignee: Taewoo Kim
>              Labels: with-index-only
> RemoveUnusedAssignAndAggregateRule removes a variable that is used in the one 
> of two paths after SPLIT (REPLICATE) operator. In my branch, I am trying to 
> optimize the index-search. In order to implement this, there is an ASSIGN 
> operator and it assigns a variable that is going to be used in the SELECT 
> operator. After ASSIGN, there is SPLIT operator. It divides the path into two 
> - the left path contains the SELECT and the other path contains no operator. 
> Two paths will be merged by UNION operator. 
> The issue is RemoveUnusedAssignAndAggregateRule can't consider all paths at 
> the same time. Thus, when it checks the right path, it removes one variable 
> in the ASSIGN before SPLIT since it thinks that the variable is not used 
> after ASSIGN operator. In fact, the variable is used in the left path. 

This message was sent by Atlassian JIRA

Reply via email to