>From Preetham Poluparthi <[email protected]>:

Preetham Poluparthi has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20923?usp=email )


Change subject: Merge branch 'gerrit/morpheus' into 'master'
......................................................................

Merge branch 'gerrit/morpheus' into 'master'

Change-Id: I8e5e6125d06cc9bfd9143ddace7891507b68472a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-3682-field-access-in-join.plan
4 files changed, 5 insertions(+), 322 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/20923/1

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
index 9759ce5..73afa62 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
@@ -1688,13 +1688,11 @@
             throws CompilationException {
         AbstractFunctionCallExpression f = new ScalarFunctionCallExpression(
                 
FunctionUtil.getFunctionInfo(BuiltinFunctions.OPEN_RECORD_CONSTRUCTOR));
-<<<<<<< HEAD   (466bb8 [ASTERIXDB-3634][EXT]: Validate snapshot on creation 
and que)
         if (rc.isTransformRecord()) {
             f.putAnnotation(isTransformRecordAnnotation.INSTANCE);
-=======
+        }
         if (rc.hasHints()) {
             f.putAnnotations(rc.getHints());
->>>>>>> BRANCH (8f3b0f [ASTERIXDB-3677][COMP] Fix nested star operators 
failure)
         }
         f.setSourceLocation(rc.getSourceLocation());
         LogicalVariable v1 = context.newVar();
diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
index 3ff656a..f8f55a2 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
@@ -21,6 +21,7 @@
 import static org.apache.asterix.external.util.ExternalDataConstants.SUBPATH;

 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
@@ -925,16 +926,12 @@
         CallExpr toObjectExpr = new CallExpr(new 
FunctionSignature(BuiltinFunctions.TO_OBJECT_VAR_STR),
                 Collections.singletonList(projectionExpr));
         toObjectExpr.setSourceLocation(sourceLoc);
-<<<<<<< HEAD   (466bb8 [ASTERIXDB-3634][EXT]: Validate snapshot on creation 
and que)
-        return toObjectExpr;
-=======
         RecordConstructor recordConstructor = new 
RecordConstructor(Collections.emptyList());
         recordConstructor.addHint(DoNotExtractExpressionAnnotation.INSTANCE);
         CallExpr ifMissingOrNullExpr = new CallExpr(new 
FunctionSignature(BuiltinFunctions.IF_MISSING_OR_NULL),
                 Arrays.asList(toObjectExpr, recordConstructor));
         ifMissingOrNullExpr.setSourceLocation(sourceLoc);
         return ifMissingOrNullExpr;
->>>>>>> BRANCH (8f3b0f [ASTERIXDB-3677][COMP] Fix nested star operators 
failure)
     }

     private static boolean includeInSelectStar(VariableExpr varExpr) {
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-3682-field-access-in-join.plan
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-3682-field-access-in-join.plan
index 259da2c..abc5c0a 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-3682-field-access-in-join.plan
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-3682-field-access-in-join.plan
@@ -2,34 +2,6 @@
 -- DISTRIBUTE_RESULT  |PARTITIONED|
   exchange
   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-<<<<<<< HEAD   (466bb8 [ASTERIXDB-3634][EXT]: Validate snapshot on creation 
and que)
-    assign [$$485] <- [to-object-var-str($$632)] project: [$$485]
-    -- ASSIGN  |PARTITIONED|
-      project ([$$632])
-      -- STREAM_PROJECT  |PARTITIONED|
-        exchange
-        -- SORT_MERGE_EXCHANGE [$$567(ASC), $$568(ASC), $$569(ASC), $$570(ASC) 
]  |PARTITIONED|
-          order (ASC, $$567) (ASC, $$568) (ASC, $$569) (ASC, $$570)
-          -- STABLE_SORT [$$567(ASC), $$568(ASC), $$569(ASC), $$570(ASC)]  
|PARTITIONED|
-            exchange
-            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-              assign [$$567, $$568, $$569, $$570] <- 
[$$632.getField("join_key2"), $$632.getField("wsc"), $$632.getField("lcd"), 
$$632.getField("wsd")]
-              -- ASSIGN  |PARTITIONED|
-                select (and(like($$494, "%"), not(is-missing($$494)))) 
project: [$$632]
-                -- STREAM_SELECT  |PARTITIONED|
-                  assign [$$494] <- [$$632.getField("bco")]
-                  -- ASSIGN  |PARTITIONED|
-                    assign [$$632] <- 
[object-concat-strict(to-object-var-str($$366), {"lov_cKey": $$504, "wsd": 
$$643, "wsm": $$644, "wsc": $$551, "scKey": $$642, "wpdi": $$547, "bch": $$563, 
"omaa": $$564, "bco": uppercase(substring($$563, 0, position($$563, "_")))})] 
project: [$$632]
-                    -- ASSIGN  |PARTITIONED|
-                      select 
(and(like(object-concat-strict(to-object-var-str($$366), {"lov_cKey": $$504, 
"wsd": $$431.getField(3), "wsm": $$431.getField(4), "wsc": 
$$431.getField("wsc"), "scKey": $$642, "wpdi": $$547, "bch": $$563, "omaa": 
$$564, "bco": uppercase(substring($$563, 0, position($$563, 
"_")))}).getField("bch"), "%"), 
like(object-concat-strict(to-object-var-str($$366), {"lov_cKey": $$504, "wsd": 
$$431.getField(3), "wsm": $$431.getField(4), "wsc": $$431.getField("wsc"), 
"scKey": $$642, "wpdi": $$547, "bch": $$563, "omaa": $$564, "bco": 
uppercase(substring($$563, 0, position($$563, "_")))}).getField("scKey"), "%"), 
like(object-concat-strict(to-object-var-str($$366), {"lov_cKey": $$504, "wsd": 
$$431.getField(3), "wsm": $$431.getField(4), "wsc": $$431.getField("wsc"), 
"scKey": $$642, "wpdi": $$547, "bch": $$563, "omaa": $$564, "bco": 
uppercase(substring($$563, 0, position($$563, "_")))}).getField("wsc"), "%"), 
like(object-concat-strict(to-object-var-str($$366), {"lov_cKey": $$504, "wsd": 
$$431.getField(3), "wsm": $$431.getField(4), "wsc": $$431.getField("wsc"), 
"scKey": $$642, "wpdi": $$547, "bch": $$563, "omaa": $$564, "bco": 
uppercase(substring($$563, 0, position($$563, "_")))}).getField("join_key2"), 
"%"))) project: [$$366, $$504, $$643, $$644, $$551, $$642, $$547, $$563, $$564]
-                      -- STREAM_SELECT  |PARTITIONED|
-                        project ([$$366, $$504, $$643, $$644, $$551, $$642, 
$$547, $$431, $$563, $$564])
-                        -- STREAM_PROJECT  |PARTITIONED|
-                          exchange
-                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                            join (eq($$514, $$547))
-                            -- HYBRID_HASH_JOIN [$$547][$$514]  |PARTITIONED|
-=======
     project ([$$446])
     -- STREAM_PROJECT  |PARTITIONED|
       assign [$$446] <- [if-missing-or-null(to-object($$592), cast({  }))]
@@ -56,297 +28,11 @@
                           -- STREAM_SELECT  |PARTITIONED|
                             project ([$$323, $$465, $$602, $$603, $$512, 
$$601, $$508, $$388, $$524, $$525])
                             -- STREAM_PROJECT  |PARTITIONED|
->>>>>>> BRANCH (8f3b0f [ASTERIXDB-3677][COMP] Fix nested star operators 
failure)
                               exchange
-<<<<<<< HEAD   (466bb8 [ASTERIXDB-3634][EXT]: Validate snapshot on creation 
and que)
-                              -- HASH_PARTITION_EXCHANGE [$$547]  |PARTITIONED|
-                                project ([$$366, $$504, $$643, $$644, $$551, 
$$642, $$547, $$431])
-                                -- STREAM_PROJECT  |PARTITIONED|
-=======
                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                 join (eq($$475, $$508))
                                 -- HYBRID_HASH_JOIN [$$508][$$475]  
|PARTITIONED|
->>>>>>> BRANCH (8f3b0f [ASTERIXDB-3677][COMP] Fix nested star operators 
failure)
                                   exchange
-<<<<<<< HEAD   (466bb8 [ASTERIXDB-3634][EXT]: Validate snapshot on creation 
and que)
-                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    join (and(eq($$639, $$641), eq($$504, 
$$642)))
-                                    -- HYBRID_HASH_JOIN [$$639, $$504][$$641, 
$$642]  |PARTITIONED|
-                                      exchange
-                                      -- HASH_PARTITION_EXCHANGE [$$639, 
$$504]  |PARTITIONED|
-                                        project ([$$366, $$504, $$639])
-                                        -- STREAM_PROJECT  |PARTITIONED|
-                                          exchange
-                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                            join (eq($$uniqueID, $$527))
-                                            -- HYBRID_HASH_JOIN 
[$$527][$$uniqueID]  |PARTITIONED|
-                                              exchange
-                                              -- HASH_PARTITION_EXCHANGE 
[$$527]  |PARTITIONED|
-                                                assign [$$366] <- 
[{"join_key2": $$639, "lov13_wsx1": substring($$503, 0, 7), "lcd": 
substring($$503, 0, 10), "lov13_name": $$505, "lov13_uunn": $$527, 
"lov13_t0_dd": $$640, "lov13_t0_ff": substring($$640, 0, 19)}] project: [$$366, 
$$639, $$527]
-                                                -- ASSIGN  |PARTITIONED|
-                                                  assign [$$640] <- 
[to-string($$u_val.getField("t0"))] project: [$$503, $$527, $$505, $$639, $$640]
-                                                  -- ASSIGN  |PARTITIONED|
-                                                    select 
(not(is-null($$639)))
-                                                    -- STREAM_SELECT  
|PARTITIONED|
-                                                      assign [$$639] <- 
[substring(if-missing-or-null(if-missing-or-null($$499.getField("someId1"), 
$$499.getField("someId2")), $$499.getField("someId3")), 0, 38)] project: 
[$$503, $$527, $$505, $$u_val, $$639]
-                                                      -- ASSIGN  |PARTITIONED|
-                                                        assign [$$499] <- 
[$$u_val.getField("marop")]
-                                                        -- ASSIGN  
|PARTITIONED|
-                                                          unnest $$u_val <- 
scan-collection($$333) project: [$$503, $$527, $$505, $$u_val]
-                                                          -- UNNEST  
|PARTITIONED|
-                                                            project ([$$503, 
$$527, $$505, $$333])
-                                                            -- STREAM_PROJECT  
|PARTITIONED|
-                                                              subplan {
-                                                                        
aggregate [$$333] <- [listify($$332)]
-                                                                        -- 
AGGREGATE  |LOCAL|
-                                                                          
assign [$$332] <- [{"marop": $$506, "t0": $$526}]
-                                                                          -- 
ASSIGN  |LOCAL|
-                                                                            
select (and(eq($$525, "iap"), not(is-unknown($$506)))) project: [$$526, $$506]
-                                                                            -- 
STREAM_SELECT  |LOCAL|
-                                                                              
assign [$$526, $$506, $$525] <- [$$item2.getField("t0"), 
$$item2.getField("marop"), $$item2.getField("ua")] project: [$$526, $$506, 
$$525]
-                                                                              
-- ASSIGN  |LOCAL|
-                                                                               
 unnest $$item2 <- scan-collection($$524) project: [$$item2]
-                                                                               
 -- UNNEST  |LOCAL|
-                                                                               
   project ([$$524])
-                                                                               
   -- STREAM_PROJECT  |LOCAL|
-                                                                               
     nested tuple source
-                                                                               
     -- NESTED_TUPLE_SOURCE  |LOCAL|
-                                                                     }
-                                                              -- SUBPLAN  
|PARTITIONED|
-                                                                select 
(not(or(eq($$505, "p1"), eq($$505, "p2"), eq($$505, "p3"))))
-                                                                -- 
STREAM_SELECT  |PARTITIONED|
-                                                                  project 
([$$503, $$527, $$524, $$505])
-                                                                  -- 
STREAM_PROJECT  |PARTITIONED|
-                                                                    exchange
-                                                                    -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                      join 
(eq($$508, $$318))
-                                                                      -- 
HYBRID_HASH_JOIN [$$318][$$508]  |PARTITIONED|
-                                                                        
exchange
-                                                                        -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                          
assign [$$318] <- [get-item(split($$505, " "), 0)]
-                                                                          -- 
ASSIGN  |PARTITIONED|
-                                                                            
assign [$$524, $$505] <- [$$item.getField("value"), $$item.getField("name")] 
project: [$$503, $$527, $$524, $$505]
-                                                                            -- 
ASSIGN  |PARTITIONED|
-                                                                              
unnest $$item <- scan-collection(object-pairs($$515)) project: [$$503, $$527, 
$$item]
-                                                                              
-- UNNEST  |PARTITIONED|
-                                                                               
 select ($$305) project: [$$515, $$503, $$527]
-                                                                               
 -- STREAM_SELECT  |PARTITIONED|
-                                                                               
   project ([$$305, $$515, $$503, $$527])
-                                                                               
   -- STREAM_PROJECT  |PARTITIONED|
-                                                                               
     exchange
-                                                                               
     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
       group by ([$$589 := $$495]) decor ([$$515; $$503; $$527]) {
-                                                                               
                 aggregate [$$305] <- [non-empty-stream()]
-                                                                               
                 -- AGGREGATE  |LOCAL|
-                                                                               
                   select (not(is-missing($$588)))
-                                                                               
                   -- STREAM_SELECT  |LOCAL|
-                                                                               
                     project ([$$588])
-                                                                               
                     -- STREAM_PROJECT  |LOCAL|
-                                                                               
                       nested tuple source
-                                                                               
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
-                                                                               
              }
-                                                                               
       -- PRE_CLUSTERED_GROUP_BY[$$495]  |PARTITIONED|
-                                                                               
         exchange
-                                                                               
         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
           order (ASC, $$495)
-                                                                               
           -- STABLE_SORT [$$495(ASC)]  |PARTITIONED|
-                                                                               
             exchange
-                                                                               
             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
               project ([$$527, $$503, $$515, $$588, $$495])
-                                                                               
               -- STREAM_PROJECT  |PARTITIONED|
-                                                                               
                 exchange
-                                                                               
                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                   left outer join (eq($$495, $$587))
-                                                                               
                   -- HYBRID_HASH_JOIN [$$495][$$587]  |PARTITIONED|
-                                                                               
                     exchange
-                                                                               
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                       select (and(eq($$b.getField("t"), "lovStat"), 
not(and(eq(len($$637), 1), eq(get-item($$637, 0), "some_str"))))) project: 
[$$527, $$503, $$515, $$495]
-                                                                               
                       -- STREAM_SELECT  |PARTITIONED|
-                                                                               
                         assign [$$637] <- [object-names($$515)]
-                                                                               
                         -- ASSIGN  |PARTITIONED|
-                                                                               
                           assign [$$527, $$503, $$515] <- 
[$$b.getField("uunn"), $$b.getField("qwer"), $$b.getField("ihsaa")]
-                                                                               
                           -- ASSIGN  |PARTITIONED|
-                                                                               
                             exchange
-                                                                               
                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                               data-scan []<-[$$495, $$b] <- test.col2
-                                                                               
                               -- DATASOURCE_SCAN  |PARTITIONED|
-                                                                               
                                 exchange
-                                                                               
                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                                   empty-tuple-source
-                                                                               
                                   -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                                               
                     exchange
-                                                                               
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                       assign [$$588] <- [true]
-                                                                               
                       -- ASSIGN  |PARTITIONED|
-                                                                               
                         project ([$$587])
-                                                                               
                         -- STREAM_PROJECT  |PARTITIONED|
-                                                                               
                           exchange
-                                                                               
                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                             join (eq($$507, $$294))
-                                                                               
                             -- HYBRID_HASH_JOIN [$$294][$$507]  |PARTITIONED|
-                                                                               
                               exchange
-                                                                               
                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
                                 select ($$303) project: [$$587, $$294]
-                                                                               
                                 -- STREAM_SELECT  |PARTITIONED|
-                                                                               
                                   project ([$$587, $$294, $$303])
-                                                                               
                                   -- STREAM_PROJECT  |PARTITIONED|
-                                                                               
                                     subplan {
-                                                                               
                                               aggregate [$$303] <- 
[non-empty-stream()]
-                                                                               
                                               -- AGGREGATE  |LOCAL|
-                                                                               
                                                 select (and(eq($$522, "iap"), 
not(is-unknown($$521))))
-                                                                               
                                                 -- STREAM_SELECT  |LOCAL|
-                                                                               
                                                   assign [$$522, $$521] <- 
[$$item2.getField("ua"), $$item2.getField("marop")] project: [$$522, $$521]
-                                                                               
                                                   -- ASSIGN  |LOCAL|
-                                                                               
                                                     unnest $$item2 <- 
scan-collection($$520) project: [$$item2]
-                                                                               
                                                     -- UNNEST  |LOCAL|
-                                                                               
                                                       project ([$$520])
-                                                                               
                                                       -- STREAM_PROJECT  
|LOCAL|
-                                                                               
                                                         nested tuple source
-                                                                               
                                                         -- NESTED_TUPLE_SOURCE 
 |LOCAL|
-                                                                               
                                            }
-                                                                               
                                     -- SUBPLAN  |PARTITIONED|
-                                                                               
                                       assign [$$294, $$520] <- 
[get-item(split($$item.getField("name"), " "), 0), $$item.getField("value")] 
project: [$$587, $$294, $$520]
-                                                                               
                                       -- ASSIGN  |PARTITIONED|
-                                                                               
                                         unnest $$item <- 
scan-collection(object-pairs($$583)) project: [$$587, $$item]
-                                                                               
                                         -- UNNEST  |PARTITIONED|
-                                                                               
                                           select (and(not(and(eq(len($$638), 
1), eq(get-item($$638, 0), "some_str"))), eq($$584.getField("t"), "lovStat"))) 
project: [$$587, $$583]
-                                                                               
                                           -- STREAM_SELECT  |PARTITIONED|
-                                                                               
                                             assign [$$638] <- 
[object-names($$583)]
-                                                                               
                                             -- ASSIGN  |PARTITIONED|
-                                                                               
                                               assign [$$583] <- 
[$$584.getField("ihsaa")]
-                                                                               
                                               -- ASSIGN  |PARTITIONED|
-                                                                               
                                                 exchange
-                                                                               
                                                 -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                                               
                                                   data-scan []<-[$$587, $$584] 
<- test.col2
-                                                                               
                                                   -- DATASOURCE_SCAN  
|PARTITIONED|
-                                                                               
                                                     exchange
-                                                                               
                                                     -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                                               
                                                       empty-tuple-source
-                                                                               
                                                       -- EMPTY_TUPLE_SOURCE  
|PARTITIONED|
-                                                                               
                               exchange
-                                                                               
                               -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                               
                                 unnest $$507 <- scan-collection(array: [ "X", 
"Y" ])
-                                                                               
                                 -- UNNEST  |UNPARTITIONED|
-                                                                               
                                   empty-tuple-source
-                                                                               
                                   -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
-                                                                        
exchange
-                                                                        -- 
BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                          
unnest $$508 <- scan-collection(array: [ "X", "Y" ])
-                                                                          -- 
UNNEST  |UNPARTITIONED|
-                                                                            
empty-tuple-source
-                                                                            -- 
EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
-                                              exchange
-                                              -- HASH_PARTITION_EXCHANGE 
[$$uniqueID]  |PARTITIONED|
-                                                unnest $$uniqueID <- 
scan-collection($$543) project: [$$504, $$uniqueID]
-                                                -- UNNEST  |PARTITIONED|
-                                                  assign [$$543] <- 
[array-star($$p.getField("members")).getField("uniqueID")] project: [$$504, 
$$543]
-                                                  -- ASSIGN  |PARTITIONED|
-                                                    select 
(and(eq($$p.getField("r"), "uuu"), eq($$p.getField("t"), "ccc"), 
not(is-missing($$504))))
-                                                    -- STREAM_SELECT  
|PARTITIONED|
-                                                      assign [$$504] <- 
[$$p.getField("cKey")]
-                                                      -- ASSIGN  |PARTITIONED|
-                                                        assign [$$p] <- [$$p2] 
project: [$$p]
-                                                        -- ASSIGN  
|PARTITIONED|
-                                                          exchange
-                                                          -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                            replicate
-                                                            -- REPLICATE  
|PARTITIONED|
-                                                              exchange
-                                                              -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                project 
([$$p2])
-                                                                -- 
STREAM_PROJECT  |PARTITIONED|
-                                                                  exchange
-                                                                  -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                    data-scan 
[]<-[$$497, $$p2] <- test.col1
-                                                                    -- 
DATASOURCE_SCAN  |PARTITIONED|
-                                                                      exchange
-                                                                      -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                        
empty-tuple-source
-                                                                        -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                      exchange
-                                      -- HASH_PARTITION_EXCHANGE [$$641, 
$$642]  |PARTITIONED|
-                                        assign [$$431] <- [{"join_key1": 
$$641, "wpdi": $$547, "wsc": $$551, "scKey": $$642, "wwlps": $$424, "wsd": 
$$643, "wsm": $$644}] project: [$$643, $$644, $$551, $$642, $$547, $$431, $$641]
-                                        -- ASSIGN  |PARTITIONED|
-                                          assign [$$644, $$643, $$642, $$641] 
<- [substring($$554, 0, 7), substring($$554, 0, 10), uppercase(substring($$551, 
0, position($$551, "_"))), substring($$549, 0, 38)] project: [$$551, $$547, 
$$424, $$644, $$643, $$642, $$641]
-                                          -- ASSIGN  |PARTITIONED|
-                                            project ([$$551, $$547, $$554, 
$$549, $$424])
-                                            -- STREAM_PROJECT  |PARTITIONED|
-                                              subplan {
-                                                        aggregate [$$424] <- 
[listify($$423)]
-                                                        -- AGGREGATE  |LOCAL|
-                                                          assign [$$423] <- 
[$$item.getField("wkps")]
-                                                          -- ASSIGN  |LOCAL|
-                                                            unnest $$item <- 
scan-collection($$548) project: [$$item]
-                                                            -- UNNEST  |LOCAL|
-                                                              project ([$$548])
-                                                              -- 
STREAM_PROJECT  |LOCAL|
-                                                                nested tuple 
source
-                                                                -- 
NESTED_TUPLE_SOURCE  |LOCAL|
-                                                     }
-                                              -- SUBPLAN  |PARTITIONED|
-                                                project ([$$551, $$547, $$554, 
$$549, $$548])
-                                                -- STREAM_PROJECT  
|PARTITIONED|
-                                                  exchange
-                                                  -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                    join (eq($$511, $$396))
-                                                    -- HYBRID_HASH_JOIN 
[$$396][$$511]  |PARTITIONED|
-                                                      exchange
-                                                      -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                        select 
(and(eq($$p2.getField("t"), "ak1"), not(is-missing($$547)), 
not(is-missing($$579)))) project: [$$551, $$547, $$554, $$549, $$548, $$396]
-                                                        -- STREAM_SELECT  
|PARTITIONED|
-                                                          assign [$$554, 
$$551, $$549, $$548, $$547] <- [$$579.getField("ssatt"), 
$$579.getField("stchk"), $$p2.getField("ed"), $$579.getField("intib"), 
$$579.getField("coaed")]
-                                                          -- ASSIGN  
|PARTITIONED|
-                                                            assign [$$396, 
$$579] <- [$$p2.getField("ha"), $$p2.getField("kat")]
-                                                            -- ASSIGN  
|PARTITIONED|
-                                                              exchange
-                                                              -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                replicate
-                                                                -- REPLICATE  
|PARTITIONED|
-                                                                  exchange
-                                                                  -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                    project 
([$$p2])
-                                                                    -- 
STREAM_PROJECT  |PARTITIONED|
-                                                                      exchange
-                                                                      -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                        
data-scan []<-[$$497, $$p2] <- test.col1
-                                                                        -- 
DATASOURCE_SCAN  |PARTITIONED|
-                                                                          
exchange
-                                                                          -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                            
empty-tuple-source
-                                                                            -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                      exchange
-                                                      -- BROADCAST_EXCHANGE  
|PARTITIONED|
-                                                        unnest $$511 <- 
scan-collection(array: [ "l1", "l2" ])
-                                                        -- UNNEST  
|UNPARTITIONED|
-                                                          empty-tuple-source
-                                                          -- 
EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
-                              exchange
-                              -- HASH_PARTITION_EXCHANGE [$$514]  |PARTITIONED|
-                                assign [$$564, $$563] <- 
[$$493.getField("omaa"), $$493.getField("qaz")] project: [$$563, $$564, $$514]
-                                -- ASSIGN  |PARTITIONED|
-                                  select (not(is-missing($$493)))
-                                  -- STREAM_SELECT  |PARTITIONED|
-                                    assign [$$514, $$493] <- 
[$$sbr.getField("ed"), $$sbr.getField("tohac")] project: [$$514, $$493]
-                                    -- ASSIGN  |PARTITIONED|
-                                      assign [$$sbr] <- [$$p2] project: [$$sbr]
-                                      -- ASSIGN  |PARTITIONED|
-                                        exchange
-                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          replicate
-                                          -- REPLICATE  |PARTITIONED|
-                                            exchange
-                                            -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              project ([$$p2])
-                                              -- STREAM_PROJECT  |PARTITIONED|
-                                                exchange
-                                                -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                  data-scan []<-[$$497, $$p2] 
<- test.col1
-                                                  -- DATASOURCE_SCAN  
|PARTITIONED|
-                                                    exchange
-                                                    -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                      empty-tuple-source
-                                                      -- EMPTY_TUPLE_SOURCE  
|PARTITIONED|
-=======
                                   -- HASH_PARTITION_EXCHANGE [$$508]  
|PARTITIONED|
                                     project ([$$323, $$465, $$602, $$603, 
$$512, $$601, $$508, $$388])
                                     -- STREAM_PROJECT  |PARTITIONED|
@@ -658,4 +344,3 @@
                                                               -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                 
empty-tuple-source
                                                                 -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
->>>>>>> BRANCH (8f3b0f [ASTERIXDB-3677][COMP] Fix nested star operators 
failure)

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20923?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I8e5e6125d06cc9bfd9143ddace7891507b68472a
Gerrit-Change-Number: 20923
Gerrit-PatchSet: 1
Gerrit-Owner: Preetham Poluparthi <[email protected]>

Reply via email to