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 <[email protected]> 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|
