asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wenhai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ASTERIXDB-1288) For a join, computation in the inner branch is not properly handled.
Date Sun, 20 Mar 2016 01:14:33 GMT

     [ https://issues.apache.org/jira/browse/ASTERIXDB-1288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Wenhai updated ASTERIXDB-1288:
------------------------------
    Description: 
If there is a computation in the inner branch, currently the optimizer cannot consider that
into consideration. For example, for the following query, if we want to do a correct index-search,
"$t1.countA - 20" instead of "$t1.countA" should be provided into a B+Tree index on $t2.countB.
However, this assignment will be applied after any index search transformation (SIdx ->
Sort -> PIdx -> then, assign -> select) and this generates false results.

{noformat}
for $t1 in dataset('TweetMessages')
for $t2 in dataset('TweetMessages')
let $c := $t2.countB + 20
where $t1.countA /* +indexnl */= $c
order by $t2.tweetid
return {"tweetid2": $t2.tweetid, "count2":$t2.countB};
{noformat}

  was:
If there is a computation in the inner branch, currently the optimizer cannot consider that
into consideration. For example, for the following query, if we want to do a correct index-search,
"$t1.countA - 20" instead of "$t1.countA" should be provided into a B+Tree index on $t2.countB.
However, this assignment will be applied after any index search transformation (SIdx ->
Sort -> PIdx -> then, assign -> select) and this generates false results.

for $t1 in dataset('TweetMessages')
for $t2 in dataset('TweetMessages')
let $c := $t2.countB + 20
where $t1.countA /* +indexnl */= $c
order by $t2.tweetid
return {"tweetid2": $t2.tweetid, "count2":$t2.countB};


> For a join, computation in the inner branch is not properly handled.
> --------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1288
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1288
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Taewoo Kim
>            Assignee: Taewoo Kim
>
> If there is a computation in the inner branch, currently the optimizer cannot consider
that into consideration. For example, for the following query, if we want to do a correct
index-search, "$t1.countA - 20" instead of "$t1.countA" should be provided into a B+Tree index
on $t2.countB. However, this assignment will be applied after any index search transformation
(SIdx -> Sort -> PIdx -> then, assign -> select) and this generates false results.
> {noformat}
> for $t1 in dataset('TweetMessages')
> for $t2 in dataset('TweetMessages')
> let $c := $t2.countB + 20
> where $t1.countA /* +indexnl */= $c
> order by $t2.tweetid
> return {"tweetid2": $t2.tweetid, "count2":$t2.countB};
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message