asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ildar Absalyamov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ASTERIXDB-1229) RemoveRedundantListifyRule does not consider expressions other then variableReferences
Date Tue, 15 Dec 2015 02:39:46 GMT
Ildar Absalyamov created ASTERIXDB-1229:
-------------------------------------------

             Summary: RemoveRedundantListifyRule does not consider expressions other then
variableReferences
                 Key: ASTERIXDB-1229
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1229
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: Optimizer
            Reporter: Ildar Absalyamov
            Assignee: Ildar Absalyamov


Consider the ddl:
{noformat}
drop dataverse test if exists;
create dataverse test
use dataverse test

create type listType as {
  "id": int64,
  "list": [int64]
}
create dataset listDS(listType) primary key id
insert into dataset listDS({"id":1, "list":[1,2,3]})
{noformat}
The following two queries, being semantically the same produce different plans:
{noformat}
for $x in dataset listDS
return  avg(for $y in $x.list
 return $y)
{noformat}
{noformat}
for $x in dataset listDS
return  avg($x.list)
{noformat}
The former query produces a subplan, but if get incorrectly optimized by RemoveRedundantListifyRule
since the argument of scan-collection is an expression, rather then a variable:
{noformat}
distribute result [%0->$$3] -- |UNPARTITIONED|
  project ([$$3]) -- |UNPARTITIONED|
    assign [$$3] <- [function-call: asterix:avg, Args:[%0->$$5]] -- |UNPARTITIONED|
      subplan {
                aggregate [$$5] <- [function-call: asterix:listify, Args:[%0->$$1]]
-- |UNPARTITIONED|
                  unnest $$1 <- function-call: asterix:scan-collection, Args:[function-call:
asterix:field-access-by-name, Args:[%0->$$0, AString: {list}]] -- |UNPARTITIONED|
                    nested tuple source -- |UNPARTITIONED|
             } -- |UNPARTITIONED|
        data-scan []<-[$$6, $$0] <- test:listDS -- |UNPARTITIONED|
          empty-tuple-source -- |UNPARTITIONED|
{noformat}



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

Mime
View raw message