>From Ali Alsuliman <[email protected]>:

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


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

Merge branch 'gerrit/morpheus' into 'master'

Change-Id: I13faf19294cdb63da4c3c56cd0f6d8d915409cd9
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ByNameToByIndexFieldAccessRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/QueryIndexDatasource.java
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query1.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query2.plan
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/JavaSerializationUtils.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java
M hyracks-fullstack/pom.xml
10 files changed, 43 insertions(+), 392 deletions(-)



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

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ByNameToByIndexFieldAccessRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ByNameToByIndexFieldAccessRule.java
index 44f5fe0..28e56e4 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ByNameToByIndexFieldAccessRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ByNameToByIndexFieldAccessRule.java
@@ -94,26 +94,19 @@
         if (fce.getFunctionIdentifier() != 
BuiltinFunctions.FIELD_ACCESS_BY_NAME) {
             return changed;
         }
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
-        changed |= extractFirstArg(fce, op, context);
-        if (includeNameToIndexRewrite) {
-            IVariableTypeEnvironment env = 
context.getOutputTypeEnvironment(op.getInputs().get(0).getValue());
-            IAType t = (IAType) 
env.getType(fce.getArguments().get(0).getValue());
-            changed |= rewriteFieldAccess(exprRef, fce, 
TypeComputeUtils.getActualType(t));
-        }
-=======
         int k = extractFirstArg(fce, op, context);
         changed |= k >= 0;
-        if (k < 0) {
-            if (op.getInputs().size() > 1) {
-                context.computeAndSetTypeEnvironmentForOperator(op);
-                changed |= rewriteFieldAccessUsing(op, exprRef, context, fce);
-                return changed;
+        if (includeNameToIndexRewrite) {
+            if (k < 0) {
+                if (op.getInputs().size() > 1) {
+                    context.computeAndSetTypeEnvironmentForOperator(op);
+                    changed |= rewriteFieldAccessUsing(op, exprRef, context, 
fce);
+                    return changed;
+                }
+                k = 0;
             }
-            k = 0;
+            changed |= 
rewriteFieldAccessUsing(op.getInputs().get(k).getValue(), exprRef, context, 
fce);
         }
-        changed |= rewriteFieldAccessUsing(op.getInputs().get(k).getValue(), 
exprRef, context, fce);
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
         return changed;
     }

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/QueryIndexDatasource.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/QueryIndexDatasource.java
index 2261e4d..a84abdc 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/QueryIndexDatasource.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/QueryIndexDatasource.java
@@ -43,17 +43,11 @@
 import 
org.apache.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider;
 import 
org.apache.hyracks.algebricks.core.algebra.metadata.IProjectionFiltrationInfo;
 import 
org.apache.hyracks.algebricks.core.algebra.operators.logical.IOperatorSchema;
-import 
org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator;
 import 
org.apache.hyracks.algebricks.core.algebra.properties.FunctionalDependency;
 import 
org.apache.hyracks.algebricks.core.algebra.properties.ILocalStructuralProperty;
 import org.apache.hyracks.algebricks.core.algebra.properties.INodeDomain;
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
 import 
org.apache.hyracks.algebricks.core.algebra.properties.IPhysicalPropertiesVector;
-=======
 import 
org.apache.hyracks.algebricks.core.algebra.properties.IPartitioningProperty;
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
-import 
org.apache.hyracks.algebricks.core.algebra.properties.LocalOrderProperty;
-import org.apache.hyracks.algebricks.core.algebra.properties.OrderColumn;
 import 
org.apache.hyracks.algebricks.core.algebra.properties.StructuralPropertiesVector;
 import 
org.apache.hyracks.algebricks.core.algebra.properties.UnorderedPartitionedProperty;
 import org.apache.hyracks.algebricks.core.jobgen.impl.JobGenContext;
@@ -133,46 +127,28 @@

     @Override
     public IDataSourcePropertiesProvider getPropertiesProvider() {
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
         return new IDataSourcePropertiesProvider() {
             @Override
             public IPhysicalPropertiesVector 
computeRequiredProperties(List<LogicalVariable> scanVariables,
                     IOptimizationContext ctx) {
                 return StructuralPropertiesVector.EMPTY_PROPERTIES_VECTOR;
-=======
-        return scanVariables -> {
-            // scanVariables should be SKs + PKs
-            List<ILocalStructuralProperty> propsLocal = new ArrayList<>(1);
-            //TODO(ali): local ordering should be gone in compute-storage 
separation setup similar to data-scan
-            List<OrderColumn> secKeys = new ArrayList<>(numSecKeys);
-            for (int i = 0; i < numSecKeys; i++) {
-                secKeys.add(new OrderColumn(scanVariables.get(i), 
OrderOperator.IOrder.OrderKind.ASC));
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
             }
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )

             @Override
             public IPhysicalPropertiesVector 
computeDeliveredProperties(List<LogicalVariable> scanVariables,
-                    IOptimizationContext ctx) {
+                    IOptimizationContext ctx) throws AlgebricksException {
+                // scanVariables should be SKs + PKs
                 List<ILocalStructuralProperty> propsLocal = new ArrayList<>(1);
-                //TODO(ali): consider primary keys?
-                List<OrderColumn> secKeys = new ArrayList<>(numSecKeys);
-                for (int i = 0; i < numSecKeys; i++) {
-                    secKeys.add(new OrderColumn(scanVariables.get(i), 
OrderOperator.IOrder.OrderKind.ASC));
+                int numPKs = ds.getPrimaryKeys().size();
+                Set<LogicalVariable> pVars = new ListSet<>();
+                for (int i = 0, j = numSecKeys; i < numPKs; i++, j++) {
+                    pVars.add(scanVariables.get(j));
                 }
-                propsLocal.add(new LocalOrderProperty(secKeys));
-                return new StructuralPropertiesVector(new 
RandomPartitioningProperty(domain), propsLocal);
+                int[][] computeStorageMap = ((MetadataProvider) 
ctx.getMetadataProvider())
+                        .getPartitioningProperties(ds).getComputeStorageMap();
+                IPartitioningProperty pp = 
UnorderedPartitionedProperty.ofPartitionsMap(pVars, domain, computeStorageMap);
+                return new StructuralPropertiesVector(pp, propsLocal);
             }
-=======
-            propsLocal.add(new LocalOrderProperty(secKeys));
-            int numPKs = ds.getPrimaryKeys().size();
-            Set<LogicalVariable> pVars = new ListSet<>();
-            for (int i = 0, j = numSecKeys; i < numPKs; i++, j++) {
-                pVars.add(scanVariables.get(j));
-            }
-            IPartitioningProperty pp = new UnorderedPartitionedProperty(pVars, 
domain);
-            return new StructuralPropertiesVector(pp, propsLocal);
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
         };
     }

diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
index d5cb7f9..c9b9c54 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
@@ -8,7 +8,6 @@
       -- STREAM_SELECT  |PARTITIONED|
         project ([$$D2, $$D1, $$50])
         -- STREAM_PROJECT  |PARTITIONED|
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
           subplan {
                     aggregate [$$50] <- [non-empty-stream()] [cardinality: 
0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
                     -- AGGREGATE  |LOCAL|
@@ -72,72 +71,3 @@
                                                         -- ONE_TO_ONE_EXCHANGE 
 |PARTITIONED|
                                                           empty-tuple-source
                                                           -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-=======
-          select ($$47)
-          -- STREAM_SELECT  |PARTITIONED|
-            project ([$$D2, $$D1, $$47])
-            -- STREAM_PROJECT  |PARTITIONED|
-              subplan {
-                        aggregate [$$47] <- [non-empty-stream()] [cardinality: 
0.0, op-cost: 0.0, total-cost: 0.0]
-                        -- AGGREGATE  |LOCAL|
-                          select (and(eq($$66, to-bigint($$67)), eq($$64, 
to-bigint($$65)))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                          -- STREAM_SELECT  |LOCAL|
-                            assign [$$66, $$64] <- [$$D1I.getField("field2"), 
$$D1I.getField("field3")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                            -- ASSIGN  |LOCAL|
-                              unnest $$D1I <- scan-collection($$63) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                              -- UNNEST  |LOCAL|
-                                nested tuple source [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                                -- NESTED_TUPLE_SOURCE  |LOCAL|
-                     }
-              -- SUBPLAN  |PARTITIONED|
-                project ([$$D2, $$D1, $$67, $$65, $$63])
-                -- STREAM_PROJECT  |PARTITIONED|
-                  select (and(eq($$D1.getField("field4"), $$60), 
eq($$D1.getField("field1"), $$58)))
-                  -- STREAM_SELECT  |PARTITIONED|
-                    assign [$$63] <- [$$D1.getField("items")]
-                    -- ASSIGN  |PARTITIONED|
-                      project ([$$D2, $$67, $$65, $$60, $$58, $$D1])
-                      -- STREAM_PROJECT  |PARTITIONED|
-                        exchange
-                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          unnest-map [$$56, $$D1] <- index-search("Dataset1", 
0, "TestDataverse", "Dataset1", true, false, 1, $$74, 1, $$74, true, true, true)
-                          -- BTREE_SEARCH  |PARTITIONED|
-                            exchange
-                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              project ([$$74, $$D2, $$67, $$65, $$60, $$58])
-                              -- STREAM_PROJECT  |PARTITIONED|
-                                exchange
-                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  distinct ([$$74, $$75])
-                                  -- PRE_SORTED_DISTINCT_BY  |PARTITIONED|
-                                    exchange
-                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      order (ASC, $$74) (ASC, $$75)
-                                      -- STABLE_SORT [$$74(ASC), $$75(ASC)]  
|PARTITIONED|
-                                        exchange
-                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          project ([$$D2, $$67, $$65, $$60, 
$$58, $$74, $$75])
-                                          -- STREAM_PROJECT  |PARTITIONED|
-                                            exchange
-                                            -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              unnest-map [$$70, $$71, $$72, 
$$73, $$74] <- index-search("d1Idx", 0, "TestDataverse", "Dataset1", true, 
true, 4, $$58, $$68, $$69, $$60, 4, $$58, $$68, $$69, $$60, true, true, true)
-                                              -- BTREE_SEARCH  |PARTITIONED|
-                                                exchange
-                                                -- BROADCAST_EXCHANGE  
|PARTITIONED|
-                                                  running-aggregate [$$75] <- 
[create-query-uid()]
-                                                  -- RUNNING_AGGREGATE  
|PARTITIONED|
-                                                    assign [$$69, $$68] <- 
[to-bigint($$65), to-bigint($$67)]
-                                                    -- ASSIGN  |PARTITIONED|
-                                                      assign [$$60, $$58, 
$$67, $$65] <- [to-bigint($$D2.getField("field4")), 
to-bigint($$D2.getField("field1")), $$D2.getField("field2"), 
$$D2.getField("field3")]
-                                                      -- ASSIGN  |PARTITIONED|
-                                                        project ([$$D2])
-                                                        -- STREAM_PROJECT  
|PARTITIONED|
-                                                          exchange
-                                                          -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                            data-scan 
[]<-[$$55, $$D2] <- TestDataverse.Dataset2
-                                                            -- DATASOURCE_SCAN 
 |PARTITIONED|
-                                                              exchange
-                                                              -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                
empty-tuple-source
-                                                                -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
index c5708c7..badead3 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
@@ -8,7 +8,6 @@
       -- STREAM_SELECT  |PARTITIONED|
         project ([$$D2, $$D1, $$72])
         -- STREAM_PROJECT  |PARTITIONED|
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
           subplan {
                     aggregate [$$72] <- [non-empty-stream()] [cardinality: 
0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
                     -- AGGREGATE  |LOCAL|
@@ -28,29 +27,7 @@
                                             project ([$$97, $$95, $$93, $$91]) 
[cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
                                             -- STREAM_PROJECT  |LOCAL|
                                               nested tuple source 
[cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-=======
-          select ($$68)
-          -- STREAM_SELECT  |PARTITIONED|
-            project ([$$D2, $$D1, $$68])
-            -- STREAM_PROJECT  |PARTITIONED|
-              subplan {
-                        aggregate [$$68] <- [non-empty-stream()] [cardinality: 
0.0, op-cost: 0.0, total-cost: 0.0]
-                        -- AGGREGATE  |LOCAL|
-                          select ($$66) [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
-                          -- STREAM_SELECT  |LOCAL|
-                            subplan {
-                                      aggregate [$$66] <- [non-empty-stream()] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                      -- AGGREGATE  |LOCAL|
-                                        select (and(eq($$92, to-bigint($$93)), 
eq($$90, to-bigint($$91)), eq($$88, to-bigint($$89)))) [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                                        -- STREAM_SELECT  |LOCAL|
-                                          assign [$$92, $$90, $$88] <- 
[$$DII.getField("field2"), $$DII.getField("field3"), 
$$DII.getField("field3_notindexed")] [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
-                                          -- ASSIGN  |LOCAL|
-                                            unnest $$DII <- 
scan-collection($$87) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                            -- UNNEST  |LOCAL|
-                                              nested tuple source 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
                                               -- NESTED_TUPLE_SOURCE  |LOCAL|
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
                                  } [cardinality: 0.0, doc-size: 0.0, op-cost: 
0.0, total-cost: 0.0]
                           -- SUBPLAN  |LOCAL|
                             select (eq($$89, to-bigint($$90))) project: [$$97, 
$$95, $$93, $$91] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 
0.0]
@@ -62,19 +39,7 @@
                                   project ([$$97, $$95, $$93, $$90, $$88]) 
[cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
                                   -- STREAM_PROJECT  |LOCAL|
                                     nested tuple source [cardinality: 0.0, 
doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-=======
-                                   } [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
-                            -- SUBPLAN  |LOCAL|
-                              select (eq($$85, to-bigint($$86))) [cardinality: 
0.0, op-cost: 0.0, total-cost: 0.0]
-                              -- STREAM_SELECT  |LOCAL|
-                                assign [$$87, $$85] <- 
[$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                -- ASSIGN  |LOCAL|
-                                  unnest $$DOI <- scan-collection($$84) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                  -- UNNEST  |LOCAL|
-                                    nested tuple source [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
                                     -- NESTED_TUPLE_SOURCE  |LOCAL|
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
                  }
           -- SUBPLAN  |PARTITIONED|
             select (and(eq($$D1.getField("field4"), $$85), 
eq($$D1.getField("field1"), $$83))) project: [$$D2, $$D1, $$97, $$95, $$93, 
$$90, $$88]
@@ -125,57 +90,3 @@
                                                         -- ONE_TO_ONE_EXCHANGE 
 |PARTITIONED|
                                                           empty-tuple-source
                                                           -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-=======
-                     }
-              -- SUBPLAN  |PARTITIONED|
-                project ([$$D2, $$D1, $$93, $$91, $$89, $$86, $$84])
-                -- STREAM_PROJECT  |PARTITIONED|
-                  select (and(eq($$D1.getField("field4"), $$81), 
eq($$D1.getField("field1"), $$79)))
-                  -- STREAM_SELECT  |PARTITIONED|
-                    assign [$$84] <- [$$D1.getField("outer_items")]
-                    -- ASSIGN  |PARTITIONED|
-                      project ([$$D2, $$93, $$91, $$89, $$86, $$81, $$79, 
$$D1])
-                      -- STREAM_PROJECT  |PARTITIONED|
-                        exchange
-                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          unnest-map [$$77, $$D1] <- index-search("Dataset1", 
0, "TestDataverse", "Dataset1", true, false, 1, $$104, 1, $$104, true, true, 
true)
-                          -- BTREE_SEARCH  |PARTITIONED|
-                            exchange
-                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              project ([$$104, $$D2, $$93, $$91, $$89, $$86, 
$$81, $$79])
-                              -- STREAM_PROJECT  |PARTITIONED|
-                                exchange
-                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  distinct ([$$104, $$105])
-                                  -- PRE_SORTED_DISTINCT_BY  |PARTITIONED|
-                                    exchange
-                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      order (ASC, $$104) (ASC, $$105)
-                                      -- STABLE_SORT [$$104(ASC), $$105(ASC)]  
|PARTITIONED|
-                                        exchange
-                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          project ([$$D2, $$93, $$91, $$89, 
$$86, $$81, $$79, $$104, $$105])
-                                          -- STREAM_PROJECT  |PARTITIONED|
-                                            exchange
-                                            -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              unnest-map [$$100, $$101, $$102, 
$$103, $$104] <- index-search("d1Idx", 0, "TestDataverse", "Dataset1", true, 
true, 4, $$79, $$96, $$97, $$81, 4, $$79, $$96, $$97, $$81, true, true, true)
-                                              -- BTREE_SEARCH  |PARTITIONED|
-                                                exchange
-                                                -- BROADCAST_EXCHANGE  
|PARTITIONED|
-                                                  running-aggregate [$$105] <- 
[create-query-uid()]
-                                                  -- RUNNING_AGGREGATE  
|PARTITIONED|
-                                                    assign [$$97, $$96] <- 
[to-bigint($$91), to-bigint($$93)]
-                                                    -- ASSIGN  |PARTITIONED|
-                                                      assign [$$81, $$79, 
$$93, $$91, $$89, $$86] <- [to-bigint($$D2.getField("field4")), 
to-bigint($$D2.getField("field1")), $$D2.getField("field2"), 
$$D2.getField("field3"), $$D2.getField("field3_notindexed"), 
$$D2.getField("field2_notindexed")]
-                                                      -- ASSIGN  |PARTITIONED|
-                                                        project ([$$D2])
-                                                        -- STREAM_PROJECT  
|PARTITIONED|
-                                                          exchange
-                                                          -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                            data-scan 
[]<-[$$76, $$D2] <- TestDataverse.Dataset2
-                                                            -- DATASOURCE_SCAN 
 |PARTITIONED|
-                                                              exchange
-                                                              -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                
empty-tuple-source
-                                                                -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query1.plan
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query1.plan
index b077023..5ab60ad 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query1.plan
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query1.plan
@@ -1,4 +1,3 @@
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
 distribute result [$$50]
 -- DISTRIBUTE_RESULT  |UNPARTITIONED|
   exchange
@@ -74,86 +73,3 @@
                                                           -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                             empty-tuple-source
                                                             -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-=======
-distribute result [$$47]
--- DISTRIBUTE_RESULT  |UNPARTITIONED|
-  exchange
-  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
-    limit 10
-    -- STREAM_LIMIT  |UNPARTITIONED|
-      exchange
-      -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
-        project ([$$47])
-        -- STREAM_PROJECT  |PARTITIONED|
-          assign [$$47] <- [{"date": $$54, "id": $$49, "forecast": $$52}]
-          -- ASSIGN  |PARTITIONED|
-            limit 10
-            -- STREAM_LIMIT  |PARTITIONED|
-              project ([$$54, $$49, $$52])
-              -- STREAM_PROJECT  |PARTITIONED|
-                select ($$42)
-                -- STREAM_SELECT  |PARTITIONED|
-                  subplan {
-                            aggregate [$$42] <- [non-empty-stream()] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                            -- AGGREGATE  |LOCAL|
-                              select (eq($$53, 
string-concat(ordered-list-constructor($$54, "03")))) [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                              -- STREAM_SELECT  |LOCAL|
-                                assign [$$53] <- [$$ff.getField("fv")] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                -- ASSIGN  |LOCAL|
-                                  unnest $$ff <- scan-collection($$52) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                  -- UNNEST  |LOCAL|
-                                    nested tuple source [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                                    -- NESTED_TUPLE_SOURCE  |LOCAL|
-                         }
-                  -- SUBPLAN  |PARTITIONED|
-                    project ([$$54, $$49, $$52])
-                    -- STREAM_PROJECT  |PARTITIONED|
-                      select (eq($$D1.getField("x"), $$49))
-                      -- STREAM_SELECT  |PARTITIONED|
-                        assign [$$52] <- [$$D1.getField("forecast")]
-                        -- ASSIGN  |PARTITIONED|
-                          project ([$$54, $$49, $$D1])
-                          -- STREAM_PROJECT  |PARTITIONED|
-                            exchange
-                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              unnest-map [$$50, $$D1] <- index-search("D1", 0, 
"test", "D1", true, false, 1, $$59, 1, $$59, true, true, true)
-                              -- BTREE_SEARCH  |PARTITIONED|
-                                exchange
-                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  project ([$$59, $$54, $$49])
-                                  -- STREAM_PROJECT  |PARTITIONED|
-                                    exchange
-                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      distinct ([$$59, $$60])
-                                      -- PRE_SORTED_DISTINCT_BY  |PARTITIONED|
-                                        exchange
-                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          order (ASC, $$59) (ASC, $$60)
-                                          -- STABLE_SORT [$$59(ASC), 
$$60(ASC)]  |PARTITIONED|
-                                            exchange
-                                            -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              project ([$$54, $$49, $$59, 
$$60])
-                                              -- STREAM_PROJECT  |PARTITIONED|
-                                                exchange
-                                                -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                  unnest-map [$$58, $$59] <- 
index-search("idx_fv", 0, "test", "D1", true, true, 1, $$57, 1, $$57, true, 
true, true)
-                                                  -- BTREE_SEARCH  
|PARTITIONED|
-                                                    exchange
-                                                    -- BROADCAST_EXCHANGE  
|PARTITIONED|
-                                                      running-aggregate [$$60] 
<- [create-query-uid()]
-                                                      -- RUNNING_AGGREGATE  
|PARTITIONED|
-                                                        assign [$$57] <- 
[string-concat(ordered-list-constructor($$54, "03"))]
-                                                        -- ASSIGN  
|PARTITIONED|
-                                                          project ([$$49, 
$$54])
-                                                          -- STREAM_PROJECT  
|PARTITIONED|
-                                                            assign [$$54] <- 
[$$D2.getField("date")]
-                                                            -- ASSIGN  
|PARTITIONED|
-                                                              exchange
-                                                              -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                data-scan 
[]<-[$$49, $$D2] <- test.D2
-                                                                -- 
DATASOURCE_SCAN  |PARTITIONED|
-                                                                  exchange
-                                                                  -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                    
empty-tuple-source
-                                                                    -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query2.plan
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query2.plan
index ca887ea..6b9660d 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query2.plan
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-5/query2.plan
@@ -1,4 +1,3 @@
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
 distribute result [$$50]
 -- DISTRIBUTE_RESULT  |UNPARTITIONED|
   exchange
@@ -74,88 +73,3 @@
                                                           -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                             empty-tuple-source
                                                             -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
-=======
-distribute result [$$47]
--- DISTRIBUTE_RESULT  |UNPARTITIONED|
-  exchange
-  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
-    limit 10
-    -- STREAM_LIMIT  |UNPARTITIONED|
-      exchange
-      -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
-        project ([$$47])
-        -- STREAM_PROJECT  |PARTITIONED|
-          assign [$$47] <- [{"date": $$54, "id": $$49, "forecast": $$52}]
-          -- ASSIGN  |PARTITIONED|
-            limit 10
-            -- STREAM_LIMIT  |PARTITIONED|
-              project ([$$54, $$49, $$52])
-              -- STREAM_PROJECT  |PARTITIONED|
-                select ($$42)
-                -- STREAM_SELECT  |PARTITIONED|
-                  subplan {
-                            aggregate [$$42] <- [non-empty-stream()] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                            -- AGGREGATE  |LOCAL|
-                              select (eq($$53, 
string-concat(ordered-list-constructor($$54, "03")))) [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                              -- STREAM_SELECT  |LOCAL|
-                                assign [$$53] <- [$$ff.getField("fv")] 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                -- ASSIGN  |LOCAL|
-                                  unnest $$ff <- scan-collection($$52) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                                  -- UNNEST  |LOCAL|
-                                    nested tuple source [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
-                                    -- NESTED_TUPLE_SOURCE  |LOCAL|
-                         }
-                  -- SUBPLAN  |PARTITIONED|
-                    project ([$$54, $$49, $$52])
-                    -- STREAM_PROJECT  |PARTITIONED|
-                      assign [$$52] <- [$$D1.getField("forecast")]
-                      -- ASSIGN  |PARTITIONED|
-                        project ([$$54, $$49, $$D1])
-                        -- STREAM_PROJECT  |PARTITIONED|
-                          select (eq($$50, $$49))
-                          -- STREAM_SELECT  |PARTITIONED|
-                            project ([$$54, $$49, $$50, $$D1])
-                            -- STREAM_PROJECT  |PARTITIONED|
-                              exchange
-                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                unnest-map [$$50, $$D1] <- index-search("D1", 
0, "test", "D1", true, false, 1, $$59, 1, $$59, true, true, true)
-                                -- BTREE_SEARCH  |PARTITIONED|
-                                  exchange
-                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    project ([$$59, $$54, $$49])
-                                    -- STREAM_PROJECT  |PARTITIONED|
-                                      exchange
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        distinct ([$$59, $$60])
-                                        -- PRE_SORTED_DISTINCT_BY  
|PARTITIONED|
-                                          exchange
-                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                            order (ASC, $$59) (ASC, $$60)
-                                            -- STABLE_SORT [$$59(ASC), 
$$60(ASC)]  |PARTITIONED|
-                                              exchange
-                                              -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                project ([$$54, $$49, $$59, 
$$60])
-                                                -- STREAM_PROJECT  
|PARTITIONED|
-                                                  exchange
-                                                  -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                    unnest-map [$$58, $$59] <- 
index-search("idx_fv", 0, "test", "D1", true, true, 1, $$57, 1, $$57, true, 
true, true)
-                                                    -- BTREE_SEARCH  
|PARTITIONED|
-                                                      exchange
-                                                      -- BROADCAST_EXCHANGE  
|PARTITIONED|
-                                                        running-aggregate 
[$$60] <- [create-query-uid()]
-                                                        -- RUNNING_AGGREGATE  
|PARTITIONED|
-                                                          assign [$$57] <- 
[string-concat(ordered-list-constructor($$54, "03"))]
-                                                          -- ASSIGN  
|PARTITIONED|
-                                                            project ([$$49, 
$$54])
-                                                            -- STREAM_PROJECT  
|PARTITIONED|
-                                                              assign [$$54] <- 
[$$D2.getField("date")]
-                                                              -- ASSIGN  
|PARTITIONED|
-                                                                exchange
-                                                                -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                  data-scan 
[]<-[$$49, $$D2] <- test.D2
-                                                                  -- 
DATASOURCE_SCAN  |PARTITIONED|
-                                                                    exchange
-                                                                    -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                      
empty-tuple-source
-                                                                      -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/JavaSerializationUtils.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/JavaSerializationUtils.java
index 357b15d..a9e0e99 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/JavaSerializationUtils.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/JavaSerializationUtils.java
@@ -36,14 +36,11 @@
 import org.apache.hyracks.util.ThrowingIOFunction;

 public class JavaSerializationUtils {
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
+
     private static final ReplacementsAwareJavaSerializationProvider 
serProvider =
             ReplacementsAwareJavaSerializationProvider.INSTANCE;
-=======
-    private static IJavaSerializationProvider serProvider = 
DefaultJavaSerializationProvider.INSTANCE;
     private static final int MAX_UTF_BYTES = 65535;
     private static final int SAFE_CHAR_LIMIT = MAX_UTF_BYTES / 3;
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')

     private JavaSerializationUtils() {
     }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java
index 10c2364..fcfaa40 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java
@@ -125,13 +125,8 @@
                 // walk down the tree until we find the leaf
                 childPageId = 
ctx.getInteriorFrame().getChildPageId(ctx.getPred());
                 ICachedPage nextPage =
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
                         
bufferCache.pin(BufferedFileHandle.getDiskPageId(getFileId(), childPageId), 
bcOpCtx);
                 bufferCache.unpin(currentPage, bcOpCtx);
-=======
-                        
bufferCache.pin(BufferedFileHandle.getDiskPageId(getFileId(), childPageId), 
false);
-                bufferCache.unpin(currentPage);
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')
                 currentPage = nextPage;
                 ctx.getInteriorFrame().setPage(currentPage);
             }
diff --git a/hyracks-fullstack/pom.xml b/hyracks-fullstack/pom.xml
index 1c8b055..2d871ba 100644
--- a/hyracks-fullstack/pom.xml
+++ b/hyracks-fullstack/pom.xml
@@ -75,14 +75,10 @@
     <snappy.version>1.1.10.5</snappy.version>
     <jackson.version>2.19.2</jackson.version>
     <jackson-databind.version>${jackson.version}</jackson-databind.version>
-<<<<<<< HEAD   (76badf [NO ISSUE][RT]: Refactor: Remove code duplication in 
stable )
     <netty.version>4.1.125.Final</netty.version>
     <asm.version>9.3</asm.version>
     <awsjavasdk.version>2.29.27</awsjavasdk.version>
     <gcsjavasdk.version>2.45.0</gcsjavasdk.version>
-=======
-    <netty.version>4.1.130.Final</netty.version>
->>>>>>> BRANCH (3578f0 Merge branch 'gerrit/trinity' into 'gerrit/morpheus')

     <implementation.title>Apache Hyracks and Algebricks - 
${project.name}</implementation.title>
     <implementation.url>https://asterixdb.apache.org/</implementation.url>

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20799?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: I13faf19294cdb63da4c3c56cd0f6d8d915409cd9
Gerrit-Change-Number: 20799
Gerrit-PatchSet: 1
Gerrit-Owner: Ali Alsuliman <[email protected]>

Reply via email to