You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Till (JIRA)" <ji...@apache.org> on 2019/04/12 16:53:00 UTC
[jira] [Updated] (ASTERIXDB-2220) Resolve nested key expression
[ https://issues.apache.org/jira/browse/ASTERIXDB-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Till updated ASTERIXDB-2220:
----------------------------
Fix Version/s: 0.9.4.2
> Resolve nested key expression
> -----------------------------
>
> Key: ASTERIXDB-2220
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2220
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: COMP - Compiler
> Affects Versions: 0.9.4
> Reporter: Wail Alkowaileet
> Assignee: Dmitry Lychagin
> Priority: Major
> Labels: triaged
> Fix For: 0.9.4.2
>
>
> key field-access expression is not recognized when the first argument is a variable
> Reproduce
> DDL:
> {noformat}
> DROP DATAVERSE Facebook IF EXISTS;
> CREATE DATAVERSE Facebook;
> Use Facebook;
> CREATE TYPE PersonType AS closed
> { id:string, name:string }
> ;
> CREATE TYPE FriendshipType AS closed
> { person : PersonType, Friends :[PersonType] }
> ;
> /* Creating Datasets */
> CREATE DATASET Person(PersonType)
> PRIMARY KEY id;
> CREATE DATASET Friendship(FriendshipType)
> PRIMARY KEY person.id;
> {noformat}
> Query:
> {noformat}
> Use Facebook;
> select first.person.name as n1, second.person.name as n2
> from Friendship first, Friendship second
> where first.person.id = second.person.id;
> {noformat}
> Plan:
> {noformat}
> "distribute result [$$29]
> -- DISTRIBUTE_RESULT |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> project ([$$29])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$29] <- [{"n1": $$36, "n2": $$37}]
> -- ASSIGN |PARTITIONED|
> project ([$$36, $$37])
> -- STREAM_PROJECT |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> join (eq($$34, $$35))
> -- HYBRID_HASH_JOIN [$$34][$$35] |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> project ([$$36, $$34])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$36, $$34] <- [$$37, $$35]
> -- ASSIGN |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> replicate
> -- REPLICATE |PARTITIONED|
> exchange
> -- HASH_PARTITION_EXCHANGE [$$35] |PARTITIONED|
> project ([$$37, $$35])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$37, $$35] <- [$$31.getField(1), $$31.getField(0)]
> -- ASSIGN |PARTITIONED|
> project ([$$31])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$31] <- [$$second.getField(0)]
> -- ASSIGN |PARTITIONED|
> project ([$$second])
> -- STREAM_PROJECT |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> data-scan []<-[$$33, $$second] <- Facebook.Friendship
> -- DATASOURCE_SCAN |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> empty-tuple-source
> -- EMPTY_TUPLE_SOURCE |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> replicate
> -- REPLICATE |PARTITIONED|
> exchange
> -- HASH_PARTITION_EXCHANGE [$$35] |PARTITIONED|
> project ([$$37, $$35])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$37, $$35] <- [$$31.getField(1), $$31.getField(0)]
> -- ASSIGN |PARTITIONED|
> project ([$$31])
> -- STREAM_PROJECT |PARTITIONED|
> assign [$$31] <- [$$second.getField(0)]
> -- ASSIGN |PARTITIONED|
> project ([$$second])
> -- STREAM_PROJECT |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> data-scan []<-[$$33, $$second] <- Facebook.Friendship
> -- DATASOURCE_SCAN |PARTITIONED|
> exchange
> -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
> empty-tuple-source
> -- EMPTY_TUPLE_SOURCE |PARTITIONED|
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)