Wail Alkowaileet created ASTERIXDB-2220:
-------------------------------------------
Summary: Resolve nested key expression
Key: ASTERIXDB-2220
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2220
Project: Apache AsterixDB
Issue Type: Bug
Reporter: Wail Alkowaileet
Assignee: Steven Jacobs
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
(v6.4.14#64029)