asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (ASTERIXDB-1086) IntroduceProjectsRule creates a wrong PROJECT operator when there are multiple paths.
Date Tue, 20 Sep 2016 22:18:20 GMT


ASF subversion and git services commented on ASTERIXDB-1086:

Commit e89ad03baa16e92b3116e2c49e48d8e7fe6f2789 in asterixdb's branch refs/heads/master from
[;h=e89ad03 ]

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

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

Change-Id: I69e055572f024f28a857d4e64916b4806e63c083
Sonar-Qube: Jenkins <>
Tested-by: Jenkins <>
Reviewed-by: Yingyi Bu <>
Integration-Tests: Jenkins <>

> IntroduceProjectsRule creates a wrong PROJECT operator when there are multiple paths.
> -------------------------------------------------------------------------------------
>                 Key: ASTERIXDB-1086
>                 URL:
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB, Optimizer
>            Reporter: Taewoo Kim
>            Assignee: Taewoo Kim
>              Labels: with-index-only
> IntroduceProjectsRule introduce a wrong project to filter out 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 IntroduceProjectRule
can't consider all paths at the same time. Thus, when it checks the right path, it introduces
a wrong PROJECT operator that filters out 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

View raw message