Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.9.4
Description
key field-access expression is not recognized when the first argument is a variable
Reproduce
DDL:
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;
Query:
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;
Plan:
"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|