You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2023/02/15 17:21:37 UTC

[asterixdb] 07/07: Merge branch 'neo' into master

This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit ebf131d4d8e3e02eedcd972859265e496ae20fe6
Merge: 0ff1a56bee a31f0658a2
Author: Ali Alsuliman <al...@gmail.com>
AuthorDate: Tue Feb 14 12:03:27 2023 -0800

    Merge branch 'neo' into master
    
    Change-Id: I321be68b46a7fc71d2f119bc658cb4a8844d4343

 .../translator/LangExpressionToPlanTranslator.java |  51 +++--
 .../multiple-indexes/query1.sqlpp                  |   6 +-
 .../multiple-indexes/query2.sqlpp                  |   6 +-
 .../open/multiple-indexes/query1.sqlpp             |   6 +-
 .../open/multiple-indexes/query2.sqlpp             |   6 +-
 .../optimizerts/results/ASTERIXDB-2402.plan        | 223 ++++++++++-----------
 .../multiple-indexes/query1.plan                   |   6 +-
 .../multiple-indexes/query2.plan                   |   8 +-
 .../open/multiple-indexes/query1.plan              |   6 +-
 .../open/multiple-indexes/query2.plan              |   8 +-
 .../results/joins/nested_query_with_bcast.plan     |  40 ++--
 .../insert-primary-key-index-with-auto-gen-pk.plan |   6 +-
 .../multiple-indexes/multiple-indexes.1.ddl.sqlpp  |   6 +-
 .../multiple-indexes.2.update.sqlpp                |   2 +-
 .../multiple-indexes.3.query.sqlpp                 |   2 +-
 .../multiple-indexes.4.query.sqlpp                 |   2 +-
 .../multiple-indexes/multiple-indexes.1.ddl.sqlpp  |   6 +-
 .../multiple-indexes.2.update.sqlpp                |   2 +-
 .../multiple-indexes.3.query.sqlpp                 |   2 +-
 .../multiple-indexes.4.query.sqlpp                 |   2 +-
 .../limit-non-pure-function.1.query.sqlpp}         |  11 +-
 .../limit-non-pure-function.2.query.sqlpp}         |  16 +-
 .../constant_folding.7.query.sqlpp                 |   4 +
 .../serialized_size_fun.01.query.sqlpp}            |  17 +-
 .../load-record-fields.3.query.sqlpp               |   4 +-
 .../load-record-fields.4.query.sqlpp               |   4 +-
 ...uery.sqlpp => load-record-fields.5.query.sqlpp} |   2 +-
 ...uery.sqlpp => load-record-fields.6.query.sqlpp} |   2 +-
 .../limit-non-pure-function.1.plan                 |  14 ++
 .../limit-non-pure-function.2.plan                 |  18 ++
 .../misc/constant_folding/constant_folding.7.plan  |   8 +-
 .../serialized_size_fun/serialized_size_fun.01.adm |   5 +
 .../load-record-fields/load-record-fields.4.plan   |  30 ++-
 .../load-record-fields/load-record-fields.5.adm    |   2 +
 .../load-record-fields/load-record-fields.6.plan   |  24 +++
 .../test/resources/runtimets/testsuite_sqlpp.xml   |   5 +
 .../runtime/FuzzyJoinFunctionRegistrant.java       |   4 -
 .../evaluators/functions/SimilarityDescriptor.java |   2 +-
 .../asterix/om/functions/BuiltinFunctions.java     |   4 +
 .../runtime/evaluators/common}/IntArray.java       |   2 +-
 .../functions/SerializedSizeDescriptor.java        |  87 ++++++++
 .../functions/SpatialIntersectDescriptor.java      |   2 +-
 .../runtime/functions/FunctionCollection.java      |   4 +
 .../visitors/IsomorphismOperatorVisitor.java       |   4 +-
 .../LogicalOperatorPrettyPrintVisitorJson.java     |   5 +-
 .../rules/InlineSingleReferenceVariablesRule.java  |   3 +-
 .../rewriter/rules/InlineVariablesRule.java        |  69 ++++++-
 .../PreferToSpillFullyOccupiedFramePolicy.java     |  10 +
 .../dataflow/std/join/OptimizedHybridHashJoin.java |  14 +-
 49 files changed, 510 insertions(+), 262 deletions(-)

diff --cc asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
index 7c8d8e7615,efd14f7463..b596e4b4ba
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
@@@ -34,98 -34,48 +34,48 @@@
                            -- STREAM_PROJECT  |PARTITIONED|
                              -- ASSIGN  |PARTITIONED|
                                -- STREAM_PROJECT  |PARTITIONED|
-                                 -- ASSIGN  |PARTITIONED|
-                                   -- STREAM_PROJECT  |PARTITIONED|
+                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                  -- PRE_CLUSTERED_GROUP_BY[$$252]  |PARTITIONED|
++                                  -- PRE_CLUSTERED_GROUP_BY[$$267]  |PARTITIONED|
+                                           {
+                                             -- AGGREGATE  |LOCAL|
+                                               -- STREAM_SELECT  |LOCAL|
+                                                 -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                           }
                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                       -- PRE_CLUSTERED_GROUP_BY[$$268]  |PARTITIONED|
-                                               {
-                                                 -- AGGREGATE  |LOCAL|
-                                                   -- STREAM_SELECT  |LOCAL|
-                                                     -- NESTED_TUPLE_SOURCE  |LOCAL|
-                                               }
-                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                           -- STABLE_SORT [$$268(ASC)]  |PARTITIONED|
-                                             -- HASH_PARTITION_EXCHANGE [$$268]  |PARTITIONED|
-                                               -- STREAM_PROJECT  |PARTITIONED|
 -                                      -- STABLE_SORT [$$252(ASC)]  |PARTITIONED|
 -                                        -- HASH_PARTITION_EXCHANGE [$$252]  |PARTITIONED|
++                                      -- STABLE_SORT [$$267(ASC)]  |PARTITIONED|
++                                        -- HASH_PARTITION_EXCHANGE [$$267]  |PARTITIONED|
+                                           -- STREAM_PROJECT  |PARTITIONED|
+                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                              -- HYBRID_HASH_JOIN [$$251][$$222]  |PARTITIONED|
++                                              -- HYBRID_HASH_JOIN [$$266][$$237]  |PARTITIONED|
                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                   -- HYBRID_HASH_JOIN [$$323][$$237]  |PARTITIONED|
-                                                     -- HASH_PARTITION_EXCHANGE [$$323]  |PARTITIONED|
-                                                       -- RUNNING_AGGREGATE  |PARTITIONED|
-                                                         -- STREAM_PROJECT  |PARTITIONED|
-                                                           -- UNNEST  |PARTITIONED|
-                                                             -- STREAM_PROJECT  |PARTITIONED|
-                                                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                 -- PRE_CLUSTERED_GROUP_BY[$$326]  |PARTITIONED|
-                                                                         {
-                                                                           -- AGGREGATE  |LOCAL|
-                                                                             -- MICRO_PRE_CLUSTERED_GROUP_BY[$$328, $$330]  |LOCAL|
-                                                                                     {
-                                                                                       -- AGGREGATE  |LOCAL|
-                                                                                         -- STREAM_SELECT  |LOCAL|
-                                                                                           -- NESTED_TUPLE_SOURCE  |LOCAL|
-                                                                                     }
-                                                                               -- STREAM_SELECT  |LOCAL|
-                                                                                 -- NESTED_TUPLE_SOURCE  |LOCAL|
-                                                                         }
-                                                                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                     -- STABLE_SORT [$$326(ASC), $$328(ASC), $$330(ASC)]  |PARTITIONED|
-                                                                       -- HASH_PARTITION_EXCHANGE [$$326]  |PARTITIONED|
-                                                                         -- UNION_ALL  |PARTITIONED|
-                                                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                             -- STREAM_PROJECT  |PARTITIONED|
-                                                                               -- STREAM_SELECT  |PARTITIONED|
-                                                                                 -- STREAM_PROJECT  |PARTITIONED|
-                                                                                   -- ASSIGN  |PARTITIONED|
-                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                       -- BTREE_SEARCH (channels.Shelters.Shelters)  |PARTITIONED|
-                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                           -- STREAM_PROJECT  |PARTITIONED|
-                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                               -- SPLIT  |PARTITIONED|
-                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                   -- STREAM_PROJECT  |PARTITIONED|
-                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                       -- RTREE_SEARCH (channels.Shelters.s_location)  |PARTITIONED|
-                                                                                                         -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                                                           -- ASSIGN  |PARTITIONED|
-                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                               -- NESTED_LOOP  |PARTITIONED|
-                                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                   -- NESTED_LOOP  |PARTITIONED|
-                                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                       -- RUNNING_AGGREGATE  |PARTITIONED|
-                                                                                                                         -- ASSIGN  |PARTITIONED|
-                                                                                                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                             -- DATASOURCE_SCAN (channels.EmergenciesNearMeChannelChannelSubscriptions)  |PARTITIONED|
-                                                                                                                               -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                                                                                 -- ASSIGN  |UNPARTITIONED|
-                                                                                                                                   -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
-                                                                                                                     -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                                                                       -- ASSIGN  |PARTITIONED|
-                                                                                                                         -- STREAM_SELECT  |PARTITIONED|
-                                                                                                                           -- ASSIGN  |PARTITIONED|
-                                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                               -- BTREE_SEARCH (channels.Reports.Reports)  |PARTITIONED|
-                                                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                                   -- STABLE_SORT [$$275(ASC)]  |PARTITIONED|
-                                                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                                       -- STREAM_PROJECT  |PARTITIONED|
-                                                                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                                           -- BTREE_SEARCH (channels.Reports.report_time)  |PARTITIONED|
-                                                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                                               -- ASSIGN  |PARTITIONED|
-                                                                                                                                                 -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                                                                                 -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                                                                                   -- ASSIGN  |PARTITIONED|
-                                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                       -- DATASOURCE_SCAN (channels.UserLocations)  |PARTITIONED|
-                                                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                           -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                             -- STREAM_PROJECT  |PARTITIONED|
-                                                                               -- STREAM_SELECT  |PARTITIONED|
-                                                                                 -- STREAM_PROJECT  |PARTITIONED|
-                                                                                   -- ASSIGN  |PARTITIONED|
+                                                   -- RUNNING_AGGREGATE  |PARTITIONED|
+                                                     -- STREAM_PROJECT  |PARTITIONED|
+                                                       -- UNNEST  |PARTITIONED|
+                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                                          -- PRE_CLUSTERED_GROUP_BY[$$313]  |PARTITIONED|
++                                                          -- PRE_CLUSTERED_GROUP_BY[$$322]  |PARTITIONED|
+                                                                   {
+                                                                     -- AGGREGATE  |LOCAL|
 -                                                                      -- MICRO_PRE_CLUSTERED_GROUP_BY[$$315, $$316]  |LOCAL|
++                                                                      -- MICRO_PRE_CLUSTERED_GROUP_BY[$$324, $$325]  |LOCAL|
+                                                                               {
+                                                                                 -- AGGREGATE  |LOCAL|
+                                                                                   -- STREAM_SELECT  |LOCAL|
+                                                                                     -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                                               }
+                                                                         -- STREAM_SELECT  |LOCAL|
+                                                                           -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                                   }
+                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                                              -- STABLE_SORT [$$313(ASC), $$315(ASC), $$316(ASC)]  |PARTITIONED|
 -                                                                -- HASH_PARTITION_EXCHANGE [$$313]  |PARTITIONED|
++                                                              -- STABLE_SORT [$$322(ASC), $$324(ASC), $$325(ASC)]  |PARTITIONED|
++                                                                -- HASH_PARTITION_EXCHANGE [$$322]  |PARTITIONED|
+                                                                   -- UNION_ALL  |PARTITIONED|
+                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                       -- STREAM_PROJECT  |PARTITIONED|
+                                                                         -- STREAM_SELECT  |PARTITIONED|
+                                                                           -- STREAM_PROJECT  |PARTITIONED|
+                                                                             -- ASSIGN  |PARTITIONED|
+                                                                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                 -- BTREE_SEARCH (channels.Shelters.Shelters)  |PARTITIONED|
+                                                                                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                      -- STREAM_PROJECT  |PARTITIONED|
                                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                          -- SPLIT  |PARTITIONED|
@@@ -154,7 -102,7 +102,7 @@@
                                                                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                                                          -- BTREE_SEARCH (channels.Reports.Reports)  |PARTITIONED|
                                                                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                                                                             -- STABLE_SORT [$$275(ASC)]  |PARTITIONED|
 -                                                                                                                            -- STABLE_SORT [$$259(ASC)]  |PARTITIONED|
++                                                                                                                            -- STABLE_SORT [$$274(ASC)]  |PARTITIONED|
                                                                                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                                                                  -- STREAM_PROJECT  |PARTITIONED|
                                                                                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
@@@ -168,22 -116,67 +116,67 @@@
                                                                                                                  -- DATASOURCE_SCAN (channels.UserLocations)  |PARTITIONED|
                                                                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                                                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                     -- HASH_PARTITION_EXCHANGE [$$237]  |PARTITIONED|
-                                                       -- ASSIGN  |PARTITIONED|
-                                                         -- STREAM_PROJECT  |PARTITIONED|
-                                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                             -- HYBRID_HASH_JOIN [$$248, $$250][$$239, $$240]  |PARTITIONED|
-                                                               -- HASH_PARTITION_EXCHANGE [$$248, $$250]  |PARTITIONED|
-                                                                 -- STREAM_PROJECT  |PARTITIONED|
-                                                                   -- ASSIGN  |PARTITIONED|
                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                       -- DATASOURCE_SCAN (channels.EmergenciesNearMeChannelBrokerSubscriptions)  |PARTITIONED|
-                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                           -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
-                                                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                 -- STREAM_PROJECT  |PARTITIONED|
-                                                                   -- ASSIGN  |PARTITIONED|
+                                                                       -- STREAM_PROJECT  |PARTITIONED|
+                                                                         -- STREAM_SELECT  |PARTITIONED|
+                                                                           -- STREAM_PROJECT  |PARTITIONED|
+                                                                             -- ASSIGN  |PARTITIONED|
+                                                                               -- STREAM_PROJECT  |PARTITIONED|
+                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                   -- SPLIT  |PARTITIONED|
+                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                       -- STREAM_PROJECT  |PARTITIONED|
+                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                           -- RTREE_SEARCH (channels.Shelters.s_location)  |PARTITIONED|
+                                                                                             -- BROADCAST_EXCHANGE  |PARTITIONED|
+                                                                                               -- ASSIGN  |PARTITIONED|
+                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                   -- NESTED_LOOP  |PARTITIONED|
+                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                       -- NESTED_LOOP  |PARTITIONED|
+                                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                           -- ASSIGN  |PARTITIONED|
+                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                               -- DATASOURCE_SCAN (channels.EmergenciesNearMeChannelChannelSubscriptions)  |PARTITIONED|
+                                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                                   -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                                                                         -- BROADCAST_EXCHANGE  |PARTITIONED|
+                                                                                                           -- ASSIGN  |PARTITIONED|
+                                                                                                             -- STREAM_SELECT  |PARTITIONED|
+                                                                                                               -- ASSIGN  |PARTITIONED|
+                                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                                   -- BTREE_SEARCH (channels.Reports.Reports)  |PARTITIONED|
+                                                                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                                                                                                      -- STABLE_SORT [$$259(ASC)]  |PARTITIONED|
++                                                                                                                      -- STABLE_SORT [$$274(ASC)]  |PARTITIONED|
+                                                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                                           -- STREAM_PROJECT  |PARTITIONED|
+                                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                                               -- BTREE_SEARCH (channels.Reports.report_time)  |PARTITIONED|
+                                                                                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                                                   -- ASSIGN  |PARTITIONED|
+                                                                                                                                     -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                                                                     -- BROADCAST_EXCHANGE  |PARTITIONED|
+                                                                                                       -- ASSIGN  |PARTITIONED|
+                                                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                           -- DATASOURCE_SCAN (channels.UserLocations)  |PARTITIONED|
+                                                                                                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                                               -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
 -                                                -- HASH_PARTITION_EXCHANGE [$$222]  |PARTITIONED|
++                                                -- HASH_PARTITION_EXCHANGE [$$237]  |PARTITIONED|
+                                                   -- ASSIGN  |PARTITIONED|
+                                                     -- STREAM_PROJECT  |PARTITIONED|
+                                                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                                                        -- HYBRID_HASH_JOIN [$$233, $$235][$$224, $$225]  |PARTITIONED|
 -                                                          -- HASH_PARTITION_EXCHANGE [$$233, $$235]  |PARTITIONED|
++                                                        -- HYBRID_HASH_JOIN [$$248, $$250][$$239, $$240]  |PARTITIONED|
++                                                          -- HASH_PARTITION_EXCHANGE [$$248, $$250]  |PARTITIONED|
+                                                             -- STREAM_PROJECT  |PARTITIONED|
+                                                               -- ASSIGN  |PARTITIONED|
+                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                   -- DATASOURCE_SCAN (channels.EmergenciesNearMeChannelBrokerSubscriptions)  |PARTITIONED|
+                                                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                       -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                             -- STREAM_PROJECT  |PARTITIONED|
+                                                               -- ASSIGN  |PARTITIONED|
+                                                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                   -- DATASOURCE_SCAN (channels.Broker)  |PARTITIONED|
                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                       -- DATASOURCE_SCAN (channels.Broker)  |PARTITIONED|
-                                                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                           -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                                       -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/misc/constant_folding/constant_folding.7.plan
index ef61aa3c05,52ccc4f648..c46d9ad10d
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/constant_folding/constant_folding.7.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/constant_folding/constant_folding.7.plan
@@@ -1,20 -1,18 +1,20 @@@
 -distribute result [$$16]
 +cardinality: 0.0
 +cost: 0.0
 +distribute result [$$17] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
  -- DISTRIBUTE_RESULT  |UNPARTITIONED|
 -  exchange
 +  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
    -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
-     project ([$$17]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-     -- STREAM_PROJECT  |UNPARTITIONED|
-       assign [$$17] <- [or(true, lt(get-year(current-date()), $$x))] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-       -- ASSIGN  |UNPARTITIONED|
 -    assign [$$16] <- [true]
++    assign [$$17] <- [true] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+     -- ASSIGN  |UNPARTITIONED|
 -      project ([])
++      project ([]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+       -- STREAM_PROJECT  |UNPARTITIONED|
 -        exchange
 +        exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
          -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
 -          order (ASC, $$x)
 +          order (ASC, $$x) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
            -- STABLE_SORT [$$x(ASC)]  |UNPARTITIONED|
 -            exchange
 +            exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
              -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
 -              unnest $$x <- range(1, 4)
 +              unnest $$x <- range(1, 4) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                -- UNNEST  |UNPARTITIONED|
 -                empty-tuple-source
 +                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                  -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.4.plan
index 79b71150d9,a4b2ce0e92..8d159b9264
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.4.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.4.plan
@@@ -1,28 -1,22 +1,24 @@@
 -distribute result [$$28]
 +cardinality: 1000000.0
 +cost: 1000000.0
 +distribute result [$$30] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
  -- DISTRIBUTE_RESULT  |PARTITIONED|
 -  exchange
 +  exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -    project ([$$28])
 +    project ([$$30]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
      -- STREAM_PROJECT  |PARTITIONED|
-       exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
-       -- SORT_MERGE_EXCHANGE [$$32(ASC) ]  |PARTITIONED|
-         project ([$$30, $$32]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
 -      assign [$$28] <- [$$md.getField("name")]
++      assign [$$30] <- [$$md.getField("name")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+       -- ASSIGN  |PARTITIONED|
 -        project ([$$md])
++        project ([$$md]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
          -- STREAM_PROJECT  |PARTITIONED|
-           select (eq($$33, current-date())) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
-           -- STREAM_SELECT  |PARTITIONED|
-             assign [$$33] <- [current-date()] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-             -- ASSIGN  |PARTITIONED|
-               project ([$$32, $$30]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-               -- STREAM_PROJECT  |PARTITIONED|
-                 assign [$$30] <- [$$md.getField("name")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                 -- ASSIGN  |PARTITIONED|
 -          exchange
 -          -- SORT_MERGE_EXCHANGE [$$30(ASC) ]  |PARTITIONED|
 -            select (neq(uuid(), uuid()))
++          exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
++          -- SORT_MERGE_EXCHANGE [$$32(ASC) ]  |PARTITIONED|
++            select (neq(uuid(), uuid())) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+             -- STREAM_SELECT  |PARTITIONED|
 -              exchange
++              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                data-scan []<-[$$30, $$md] <- test.MyDataset
++                data-scan []<-[$$32, $$md] <- test.MyDataset [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                 -- DATASOURCE_SCAN  |PARTITIONED|
 -                  exchange
 +                  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                     data-scan []<-[$$32, $$md] <- test.MyDataset [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                     -- DATASOURCE_SCAN  |PARTITIONED|
-                       exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                         empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-                         -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
 -                    empty-tuple-source
++                    empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                     -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.6.plan
index 0000000000,600472738a..abd19fdd99
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.6.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/objects/load-record-fields/load-record-fields.6.plan
@@@ -1,0 -1,22 +1,24 @@@
 -distribute result [$$28]
++cardinality: 1000000.0
++cost: 1000000.0
++distribute result [$$30] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ -- DISTRIBUTE_RESULT  |PARTITIONED|
 -  exchange
++  exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -    project ([$$28])
++    project ([$$30]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+     -- STREAM_PROJECT  |PARTITIONED|
 -      assign [$$28] <- [$$md.getField("name")]
++      assign [$$30] <- [$$md.getField("name")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+       -- ASSIGN  |PARTITIONED|
 -        project ([$$md])
++        project ([$$md]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+         -- STREAM_PROJECT  |PARTITIONED|
 -          exchange
 -          -- SORT_MERGE_EXCHANGE [$$30(ASC) ]  |PARTITIONED|
 -            select (neq(current-date(), date: { 1980-09-10 }))
++          exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
++          -- SORT_MERGE_EXCHANGE [$$32(ASC) ]  |PARTITIONED|
++            select (neq(current-date(), date: { 1980-09-10 })) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+             -- STREAM_SELECT  |PARTITIONED|
 -              exchange
++              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                data-scan []<-[$$30, $$md] <- test.MyDataset
++                data-scan []<-[$$32, $$md] <- test.MyDataset [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                 -- DATASOURCE_SCAN  |PARTITIONED|
 -                  exchange
++                  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -                    empty-tuple-source
++                    empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                     -- EMPTY_TUPLE_SOURCE  |PARTITIONED|