You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ar...@apache.org on 2025/01/18 19:44:30 UTC
(impala) 05/05: IMPALA-2945: Account for duplicate keys on multiple nodes preAgg
This is an automated email from the ASF dual-hosted git repository.
arawat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 3118e41c26f730a06d42994e678cab694c787649
Author: Riza Suminto <ri...@cloudera.com>
AuthorDate: Wed Nov 6 20:09:28 2024 -0800
IMPALA-2945: Account for duplicate keys on multiple nodes preAgg
AggregationNode.computeStats() estimate cardinality under single node
assumption. This can be an underestimation in preaggregation node case
because same grouping key may exist in multiple nodes during
preaggreation.
This patch adjust the cardinality estimate using following model for the
number of distinct values in a random sample of k rows, previously used
to calculate ProcessingCost model by IMPALA-12657 and IMPALA-13644.
Assumes we are picking k rows from an infinite sample with ndv distinct
values, with the value uniformly distributed. The probability of a given
value not appearing in a sample, in that case is
((NDV - 1) / NDV) ^ k
This is because we are making k choices, and each of them has
(ndv - 1) / ndv chance of not being our value. Therefore the
probability of a given value appearing in the sample is:
1 - ((NDV - 1) / NDV) ^ k
And the number of distinct values in the sample is:
(1 - ((NDV - 1) / NDV) ^ k) * NDV
Query option ESTIMATE_DUPLICATE_IN_PREAGG is added to control whether to
use the new estimation logic or not.
Testing:
- Pass core tests.
Change-Id: I04c563e59421928875b340cb91654b9d4bc80b55
Reviewed-on: http://gerrit.cloudera.org:8080/22047
Reviewed-by: Riza Suminto <ri...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
be/src/service/query-options.cc | 4 +
be/src/service/query-options.h | 4 +-
common/thrift/ImpalaService.thrift | 4 +
common/thrift/Query.thrift | 3 +
.../org/apache/impala/planner/AggregationNode.java | 58 ++-
.../org/apache/impala/planner/PlannerTest.java | 4 +-
testdata/bin/restore-stats-on-planner-tests.py | 17 +-
.../PlannerTest/agg-node-high-mem-estimate.test | 44 +-
.../PlannerTest/agg-node-low-mem-estimate.test | 44 +-
.../PlannerTest/agg-node-max-mem-estimate.test | 44 +-
.../PlannerTest/aggregation-no-tuple-analysis.test | 1 +
.../queries/PlannerTest/aggregation.test | 90 ++---
.../queries/PlannerTest/analytic-fns.test | 16 +-
.../queries/PlannerTest/card-agg.test | 12 +-
.../PlannerTest/iceberg-v2-tables-hash-join.test | 6 +-
.../PlannerTest/iceberg-v2-tables-resources.test | 12 +-
.../queries/PlannerTest/iceberg-v2-tables.test | 6 +-
.../queries/PlannerTest/join-order.test | 10 +-
.../queries/PlannerTest/joins.test | 20 +-
.../PlannerTest/multiple-distinct-limit.test | 8 +-
.../multiple-distinct-materialization.test | 22 +-
.../PlannerTest/multiple-distinct-predicates.test | 8 +-
.../queries/PlannerTest/multiple-distinct.test | 48 +--
.../queries/PlannerTest/outer-joins.test | 4 +-
.../PlannerTest/partition-key-scans-default.test | 6 +-
.../queries/PlannerTest/preagg-bytes-limit.test | 26 +-
.../processing-cost-plan-admission-slots.test | 24 +-
.../queries/PlannerTest/resource-requirements.test | 152 +++----
.../PlannerTest/shuffle-by-distinct-exprs.test | 14 +-
.../queries/PlannerTest/tpcds-processing-cost.test | 22 +-
.../queries/PlannerTest/tpcds/tpcds-q02.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q04.test | 64 +--
.../queries/PlannerTest/tpcds/tpcds-q05.test | 48 +--
.../queries/PlannerTest/tpcds/tpcds-q06.test | 12 +-
.../queries/PlannerTest/tpcds/tpcds-q07.test | 18 +-
.../queries/PlannerTest/tpcds/tpcds-q08.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q09.test | 120 +++---
.../queries/PlannerTest/tpcds/tpcds-q11.test | 44 +-
.../queries/PlannerTest/tpcds/tpcds-q12.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q13.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q14a.test | 210 +++++-----
.../queries/PlannerTest/tpcds/tpcds-q14b.test | 108 ++---
.../queries/PlannerTest/tpcds/tpcds-q15.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q18.test | 20 +-
.../queries/PlannerTest/tpcds/tpcds-q20.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q21.test | 20 +-
.../queries/PlannerTest/tpcds/tpcds-q22.test | 20 +-
.../queries/PlannerTest/tpcds/tpcds-q23a.test | 132 +++---
.../queries/PlannerTest/tpcds/tpcds-q23b.test | 82 ++--
.../queries/PlannerTest/tpcds/tpcds-q24a.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q24b.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q26.test | 18 +-
.../queries/PlannerTest/tpcds/tpcds-q27.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q28.test | 100 ++---
.../queries/PlannerTest/tpcds/tpcds-q31.test | 72 ++--
.../queries/PlannerTest/tpcds/tpcds-q32.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q33.test | 56 +--
.../queries/PlannerTest/tpcds/tpcds-q36.test | 12 +-
.../queries/PlannerTest/tpcds/tpcds-q37.test | 28 +-
.../queries/PlannerTest/tpcds/tpcds-q38.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q39a.test | 56 +--
.../queries/PlannerTest/tpcds/tpcds-q39b.test | 56 +--
.../queries/PlannerTest/tpcds/tpcds-q40.test | 18 +-
.../queries/PlannerTest/tpcds/tpcds-q42.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q43.test | 14 +-
.../queries/PlannerTest/tpcds/tpcds-q44.test | 50 +--
.../queries/PlannerTest/tpcds/tpcds-q45.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q48.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q50.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q59.test | 36 +-
.../queries/PlannerTest/tpcds/tpcds-q60.test | 14 +-
.../queries/PlannerTest/tpcds/tpcds-q61.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q62.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q64.test | 32 +-
.../queries/PlannerTest/tpcds/tpcds-q65.test | 44 +-
.../queries/PlannerTest/tpcds/tpcds-q66.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q67.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q69.test | 12 +-
.../queries/PlannerTest/tpcds/tpcds-q70.test | 18 +-
.../queries/PlannerTest/tpcds/tpcds-q74.test | 44 +-
.../queries/PlannerTest/tpcds/tpcds-q76.test | 20 +-
.../queries/PlannerTest/tpcds/tpcds-q77.test | 38 +-
.../queries/PlannerTest/tpcds/tpcds-q80.test | 44 +-
.../queries/PlannerTest/tpcds/tpcds-q82.test | 28 +-
.../queries/PlannerTest/tpcds/tpcds-q86.test | 12 +-
.../queries/PlannerTest/tpcds/tpcds-q87.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q88.test | 64 +--
.../queries/PlannerTest/tpcds/tpcds-q90.test | 16 +-
.../queries/PlannerTest/tpcds/tpcds-q92.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q96.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q97.test | 8 +-
.../queries/PlannerTest/tpcds/tpcds-q98.test | 24 +-
.../queries/PlannerTest/tpcds/tpcds-q99.test | 16 +-
.../queries/PlannerTest/tpcds_cpu_cost/ddl.test | 12 +-
.../tpcds_cpu_cost/tpcds-ddl-iceberg.test | 14 +-
.../tpcds_cpu_cost/tpcds-ddl-parquet.test | 14 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q01.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q02.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q04.test | 88 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q05.test | 80 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q06.test | 44 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q07.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q08.test | 72 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q09.test | 356 ++++++++---------
.../PlannerTest/tpcds_cpu_cost/tpcds-q10a.test | 92 ++---
.../PlannerTest/tpcds_cpu_cost/tpcds-q11.test | 60 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q12.test | 64 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q13.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q14a.test | 444 ++++++++++-----------
.../PlannerTest/tpcds_cpu_cost/tpcds-q14b.test | 284 ++++++-------
.../PlannerTest/tpcds_cpu_cost/tpcds-q15.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q18.test | 64 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q19.test | 36 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q20.test | 72 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q21.test | 16 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q22.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q23a.test | 232 +++++------
.../PlannerTest/tpcds_cpu_cost/tpcds-q23b.test | 248 ++++++------
.../PlannerTest/tpcds_cpu_cost/tpcds-q24a.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q24b.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q26.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q27.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q28.test | 148 +++----
.../PlannerTest/tpcds_cpu_cost/tpcds-q30.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q31.test | 172 ++++----
.../PlannerTest/tpcds_cpu_cost/tpcds-q32.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q33.test | 140 +++----
.../PlannerTest/tpcds_cpu_cost/tpcds-q35a.test | 68 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q36.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q37.test | 36 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q38.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q40.test | 16 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q42.test | 28 +-
.../tpcds_cpu_cost/tpcds-q43-verbose.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q43.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q44.test | 100 ++---
.../PlannerTest/tpcds_cpu_cost/tpcds-q45.test | 40 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q47.test | 80 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q48.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q49.test | 76 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q50.test | 32 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q52.test | 36 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q53.test | 20 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q54.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q55.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q56.test | 96 ++---
.../PlannerTest/tpcds_cpu_cost/tpcds-q57.test | 48 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q58.test | 80 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q59.test | 32 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q60.test | 96 ++---
.../PlannerTest/tpcds_cpu_cost/tpcds-q61.test | 40 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q62.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q63.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q64.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q65.test | 72 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q66.test | 44 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q67.test | 32 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q69.test | 72 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q70.test | 44 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q72.test | 20 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q74.test | 52 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q76.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q77.test | 140 +++----
.../PlannerTest/tpcds_cpu_cost/tpcds-q80.test | 84 ++--
.../PlannerTest/tpcds_cpu_cost/tpcds-q81.test | 28 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q82.test | 36 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q83.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q85.test | 26 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q86.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q87.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q88.test | 188 ++++-----
.../PlannerTest/tpcds_cpu_cost/tpcds-q90.test | 44 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q91.test | 20 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q92.test | 48 +--
.../PlannerTest/tpcds_cpu_cost/tpcds-q93.test | 16 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q96.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q97.test | 24 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q98.test | 36 +-
.../PlannerTest/tpcds_cpu_cost/tpcds-q99.test | 28 +-
.../queries/PlannerTest/tpch-all.test | 74 ++--
.../queries/PlannerTest/tpch-nested.test | 16 +-
181 files changed, 4302 insertions(+), 4275 deletions(-)
diff --git a/be/src/service/query-options.cc b/be/src/service/query-options.cc
index 88446e4de..44d571a80 100644
--- a/be/src/service/query-options.cc
+++ b/be/src/service/query-options.cc
@@ -1326,6 +1326,10 @@ Status impala::SetQueryOption(TImpalaQueryOptions::type option, const string& va
query_options->__set_enable_tuple_analysis_in_aggregate(IsTrue(value));
break;
}
+ case TImpalaQueryOptions::ESTIMATE_DUPLICATE_IN_PREAGG: {
+ query_options->__set_estimate_duplicate_in_preagg(IsTrue(value));
+ break;
+ }
default:
string key = to_string(option);
if (IsRemovedQueryOption(key)) {
diff --git a/be/src/service/query-options.h b/be/src/service/query-options.h
index 5dd8bafd0..b5587ec2a 100644
--- a/be/src/service/query-options.h
+++ b/be/src/service/query-options.h
@@ -51,7 +51,7 @@ typedef std::unordered_map<string, beeswax::TQueryOptionLevel::type>
// plus one. Thus, the second argument to the DCHECK has to be updated every
// time we add or remove a query option to/from the enum TImpalaQueryOptions.
constexpr unsigned NUM_QUERY_OPTIONS =
- TImpalaQueryOptions::ENABLE_TUPLE_ANALYSIS_IN_AGGREGATE + 1;
+ TImpalaQueryOptions::ESTIMATE_DUPLICATE_IN_PREAGG + 1;
#define QUERY_OPTS_TABLE \
DCHECK_EQ(_TImpalaQueryOptions_VALUES_TO_NAMES.size(), NUM_QUERY_OPTIONS); \
REMOVED_QUERY_OPT_FN(abort_on_default_limit_exceeded, ABORT_ON_DEFAULT_LIMIT_EXCEEDED) \
@@ -362,6 +362,8 @@ constexpr unsigned NUM_QUERY_OPTIONS =
TQueryOptionLevel::ADVANCED) \
QUERY_OPT_FN(enable_tuple_analysis_in_aggregate, \
ENABLE_TUPLE_ANALYSIS_IN_AGGREGATE, TQueryOptionLevel::ADVANCED) \
+ QUERY_OPT_FN(estimate_duplicate_in_preagg, \
+ ESTIMATE_DUPLICATE_IN_PREAGG, TQueryOptionLevel::ADVANCED) \
;
/// Enforce practical limits on some query options to avoid undesired query state.
diff --git a/common/thrift/ImpalaService.thrift b/common/thrift/ImpalaService.thrift
index df00545ff..90992a269 100644
--- a/common/thrift/ImpalaService.thrift
+++ b/common/thrift/ImpalaService.thrift
@@ -973,6 +973,10 @@ enum TImpalaQueryOptions {
// If True, enable tuple analysis for both preaggregation and final aggregation node.
// Enabling this feature can lower cardinality estimate of multi-column grouping.
ENABLE_TUPLE_ANALYSIS_IN_AGGREGATE = 184
+
+ // If True, account for probability of having duplicate grouping key exist in multiple
+ // nodes during preaggreation.
+ ESTIMATE_DUPLICATE_IN_PREAGG = 185
}
// The summary of a DML statement.
diff --git a/common/thrift/Query.thrift b/common/thrift/Query.thrift
index 118b10956..851f5a573 100644
--- a/common/thrift/Query.thrift
+++ b/common/thrift/Query.thrift
@@ -756,6 +756,9 @@ struct TQueryOptions {
// See comment in ImpalaService.thrift
185: optional bool enable_tuple_analysis_in_aggregate = true
+
+ // See comment in ImpalaService.thrift
+ 186: optional bool estimate_duplicate_in_preagg = true
}
// Impala currently has three types of sessions: Beeswax, HiveServer2 and external
diff --git a/fe/src/main/java/org/apache/impala/planner/AggregationNode.java b/fe/src/main/java/org/apache/impala/planner/AggregationNode.java
index eae948c2f..f9e04c962 100644
--- a/fe/src/main/java/org/apache/impala/planner/AggregationNode.java
+++ b/fe/src/main/java/org/apache/impala/planner/AggregationNode.java
@@ -272,8 +272,6 @@ public class AggregationNode extends PlanNode {
@Override
public void computeStats(Analyzer analyzer) {
super.computeStats(analyzer);
- // TODO: IMPALA-2945: this doesn't correctly take into account duplicate keys on
- // multiple nodes in a pre-aggregation.
cardinality_ = 0;
aggInputCardinality_ = getFirstAggInputCardinality();
Preconditions.checkState(aggInputCardinality_ >= -1, aggInputCardinality_);
@@ -296,6 +294,8 @@ public class AggregationNode extends PlanNode {
boolean unknownEstimate = false;
final boolean canCompleteEarly = canCompleteEarly();
+ final boolean estimatePreaggDuplicate =
+ isPreagg_ && analyzer.getQueryOptions().isEstimate_duplicate_in_preagg();
aggClassNumGroups_ = Lists.newArrayList();
aggClassOutputCardinality_ = Lists.newArrayList();
int aggIdx = 0;
@@ -309,10 +309,6 @@ public class AggregationNode extends PlanNode {
numGroups =
estimateNumGroups(groupingExprs, aggInputCardinality_, preaggNumgroup);
} else {
- // TODO: This numGroups is a global estimate accross all data. If this is
- // a preaggregation node with N instances, actual number can be as high as
- // N * numGroups. But N is unknown until later phase of planning. Preaggregation
- // node can also stream rows, which will produce more rows than N * numGroups.
numGroups =
estimateNumGroups(groupingExprs, aggInputCardinality_, this, analyzer);
}
@@ -350,9 +346,9 @@ public class AggregationNode extends PlanNode {
aggOutputCard = smallestValidCardinality(aggOutputCard, getLimit());
}
aggClassOutputCardinality_.add(aggOutputCard);
- // TODO: IMPALA-2945: Use aggClassOutputCardinality_ to calculate cardinality.
- // Currently, we only consider aggClassOutputCardinality_ for costing.
- cardinality_ = checkedAdd(cardinality_, numGroups);
+ // IMPALA-2945: Behavior change if estimatePreaggDuplicate is true.
+ cardinality_ =
+ checkedAdd(cardinality_, estimatePreaggDuplicate ? aggOutputCard : numGroups);
}
aggIdx++;
}
@@ -369,8 +365,13 @@ public class AggregationNode extends PlanNode {
cardinality_ = applyConjunctsSelectivity(cardinality_);
cardAfterConjunct = cardinality_;
}
- // IMPALA-2581: preAgg node can have limit.
- cardinality_ = capCardinalityAtLimit(cardinality_);
+
+ // IMPALA-2945: Behavior change if estimatePreaggDuplicate is true.
+ // limit is already accounted by estimatePreaggCardinality().
+ if (!estimatePreaggDuplicate) {
+ // IMPALA-2581: preAgg node can have limit.
+ cardinality_ = capCardinalityAtLimit(cardinality_);
+ }
if (LOG.isTraceEnabled()) {
LOG.trace("{} cardinality=[BeforeConjunct={} AfterConjunct={} AfterLimit={}]",
@@ -862,23 +863,6 @@ public class AggregationNode extends PlanNode {
return output;
}
- private long getAggClassNumGroup(
- @Nullable AggregationNode prevAgg, AggregateInfo aggInfo) {
- if (prevAgg == null) {
- return aggInputCardinality_;
- } else {
- // This aggInfo should be in-line with aggInfo of prevAgg
- // (sizes are validated in getPrevAggInputNode).
- int aggIdx = aggInfos_.indexOf(aggInfo);
- long aggClassNumGroup = prevAgg.aggClassNumGroups_.get(aggIdx);
- if (aggClassNumGroup <= -1) {
- return aggInputCardinality_;
- } else {
- return Math.min(aggInputCardinality_, aggClassNumGroup);
- }
- }
- }
-
@Override
public void computeProcessingCost(TQueryOptions queryOptions) {
processingCost_ = ProcessingCost.zero();
@@ -913,10 +897,22 @@ public class AggregationNode extends PlanNode {
public void computeNodeResourceProfile(TQueryOptions queryOptions) {
resourceProfiles_ = Lists.newArrayListWithCapacity(aggInfos_.size());
resourceProfiles_.clear();
- AggregationNode preaggNode = getPreAggNodeChild();
+ // IMPALA-2945: Behavior change if estimatePreaggDuplicate is true.
+ boolean estimatePreaggDuplicate = queryOptions.isEstimate_duplicate_in_preagg();
+ AggregationNode prevAggNode = getPreAggNodeChild();
+ int aggIdx = 0;
for (AggregateInfo aggInfo : aggInfos_) {
- resourceProfiles_.add(computeAggClassResourceProfile(
- queryOptions, aggInfo, getAggClassNumGroup(preaggNode, aggInfo)));
+ long inputCardinality = aggInputCardinality_;
+ if (prevAggNode != null) {
+ long aggClassOutputCardinality = estimatePreaggDuplicate ?
+ prevAggNode.aggClassOutputCardinality_.get(aggIdx) :
+ prevAggNode.aggClassNumGroups_.get(aggIdx);
+ inputCardinality =
+ smallestValidCardinality(inputCardinality, aggClassOutputCardinality);
+ }
+ resourceProfiles_.add(
+ computeAggClassResourceProfile(queryOptions, aggInfo, inputCardinality));
+ aggIdx++;
}
if (aggInfos_.size() == 1) {
nodeResourceProfile_ = resourceProfiles_.get(0);
diff --git a/fe/src/test/java/org/apache/impala/planner/PlannerTest.java b/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
index f9d414e59..71135ad2a 100644
--- a/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
+++ b/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
@@ -1276,7 +1276,9 @@ public class PlannerTest extends PlannerTestBase {
TQueryOptions options = defaultQueryOptions();
options.setPreagg_bytes_limit(64 * 1024 * 1024);
options.setExplain_level(TExplainLevel.EXTENDED);
- runPlannerTestFile("preagg-bytes-limit", "tpch_parquet", options);
+ runPlannerTestFile("preagg-bytes-limit", "tpch_parquet", options,
+ ImmutableSet.of(PlannerTestOption.VALIDATE_CARDINALITY,
+ PlannerTestOption.VALIDATE_RESOURCES));
}
/**
diff --git a/testdata/bin/restore-stats-on-planner-tests.py b/testdata/bin/restore-stats-on-planner-tests.py
index ed07062b5..6b479d1f3 100755
--- a/testdata/bin/restore-stats-on-planner-tests.py
+++ b/testdata/bin/restore-stats-on-planner-tests.py
@@ -47,9 +47,14 @@ PATH_TO_REPLACE = {
"agg-node-high-mem-estimate.test",
"agg-node-low-mem-estimate.test",
"agg-node-max-mem-estimate.test",
+ "aggregation.test",
"aggregation-no-tuple-analysis.test",
+ "analytic-fns.test",
+ "card-agg.test",
"processing-cost-plan-admission-slots.test",
+ "resource-requirements.test",
"tpcds-processing-cost.test",
+ "tpch-nested.test"
]
}
@@ -88,7 +93,17 @@ FIXED_STATS = {
"tpcds_partitioned_parquet_snap": [
("date_dim", "73.05K", "2.15MB"),
("income_band", "20", "1.22KB")
- ]
+ ],
+ "tpch_nested_parquet": [
+ ("customer", "150.00K", "289.07MB"),
+ ("region", "5", "3.58KB")
+ ],
+ "tpch_parquet": [
+ ("lineitem", "6.00M", "193.99MB")
+ ],
+ "tpch_orc_def": [
+ ("lineitem", "6.00M", "142.84MB")
+ ],
}
FIXED_STATS["tpcds_partitioned_parquet_snap"] = FIXED_STATS["tpcds_parquet"]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-high-mem-estimate.test b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-high-mem-estimate.test
index 492222dab..14dbc46c6 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-high-mem-estimate.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-high-mem-estimate.test
@@ -128,7 +128,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=171.82MB Threads=10
+Max Per-Host Resource Reservation: Memory=186.82MB Threads=10
Per-Host Resource Estimates: Memory=4.97GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -144,7 +144,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Host Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -174,13 +174,13 @@ Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservat
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -202,7 +202,7 @@ Per-Host Resources: mem-estimate=4.78GB mem-reservation=140.62MB thread-reservat
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=4.64GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -294,7 +294,7 @@ Per-Host Resources: mem-estimate=4.78GB mem-reservation=140.62MB thread-reservat
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=183.45MB Threads=9
+Max Per-Host Resource Reservation: Memory=198.45MB Threads=9
Per-Host Resource Estimates: Memory=4.81GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -310,7 +310,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Instance Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -340,13 +340,13 @@ Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-rese
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -369,7 +369,7 @@ Per-Instance Resources: mem-estimate=4.68GB mem-reservation=129.00MB thread-rese
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=4.64GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -673,8 +673,8 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=426.45MB Threads=11
-Per-Host Resource Estimates: Memory=7.57GB
+Max Per-Host Resource Reservation: Memory=478.39MB Threads=11
+Per-Host Resource Estimates: Memory=7.62GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -724,7 +724,7 @@ Per-Host Resources: mem-estimate=4.08MB mem-reservation=4.00MB thread-reservatio
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Host Resources: mem-estimate=3.36GB mem-reservation=192.81MB thread-reservation=1
+Per-Host Resources: mem-estimate=3.41GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -768,13 +768,13 @@ Per-Host Resources: mem-estimate=3.36GB mem-reservation=192.81MB thread-reservat
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.99GB mem-reservation=158.81MB thread-reservation=0
+| mem-estimate=3.04GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=13.32MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -808,7 +808,7 @@ Per-Host Resources: mem-estimate=4.01GB mem-reservation=223.62MB thread-reservat
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=3.92GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -901,8 +901,8 @@ Per-Host Resources: mem-estimate=4.01GB mem-reservation=223.62MB thread-reservat
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=831.89MB Threads=13
-Per-Host Resource Estimates: Memory=9.13GB
+Max Per-Host Resource Reservation: Memory=950.77MB Threads=13
+Per-Host Resource Estimates: Memory=9.22GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -952,7 +952,7 @@ Per-Instance Resources: mem-estimate=4.13MB mem-reservation=4.00MB thread-reserv
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-reservation=1
+Per-Instance Resources: mem-estimate=2.27GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -996,13 +996,13 @@ Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-rese
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.03GB mem-reservation=151.31MB thread-reservation=0
+| mem-estimate=2.08GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=16.64MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1037,7 +1037,7 @@ Per-Instance Resources: mem-estimate=2.30GB mem-reservation=212.00MB thread-rese
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=2.26GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-low-mem-estimate.test b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-low-mem-estimate.test
index 39e6441b7..d05a0067f 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-low-mem-estimate.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-low-mem-estimate.test
@@ -128,7 +128,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=171.82MB Threads=10
+Max Per-Host Resource Reservation: Memory=186.82MB Threads=10
Per-Host Resource Estimates: Memory=1.99GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -144,7 +144,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Host Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -174,13 +174,13 @@ Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservat
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -202,7 +202,7 @@ Per-Host Resources: mem-estimate=1.80GB mem-reservation=140.62MB thread-reservat
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=1.66GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -294,7 +294,7 @@ Per-Host Resources: mem-estimate=1.80GB mem-reservation=140.62MB thread-reservat
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=183.45MB Threads=9
+Max Per-Host Resource Reservation: Memory=198.45MB Threads=9
Per-Host Resource Estimates: Memory=1.83GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -310,7 +310,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Instance Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -340,13 +340,13 @@ Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-rese
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -369,7 +369,7 @@ Per-Instance Resources: mem-estimate=1.70GB mem-reservation=129.00MB thread-rese
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=1.66GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -673,8 +673,8 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=426.45MB Threads=11
-Per-Host Resource Estimates: Memory=5.74GB
+Max Per-Host Resource Reservation: Memory=478.39MB Threads=11
+Per-Host Resource Estimates: Memory=5.78GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -724,7 +724,7 @@ Per-Host Resources: mem-estimate=4.08MB mem-reservation=4.00MB thread-reservatio
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Host Resources: mem-estimate=2.42GB mem-reservation=192.81MB thread-reservation=1
+Per-Host Resources: mem-estimate=2.47GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -768,13 +768,13 @@ Per-Host Resources: mem-estimate=2.42GB mem-reservation=192.81MB thread-reservat
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.05GB mem-reservation=158.81MB thread-reservation=0
+| mem-estimate=2.10GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=13.32MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -808,7 +808,7 @@ Per-Host Resources: mem-estimate=3.12GB mem-reservation=223.62MB thread-reservat
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=3.03GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -901,8 +901,8 @@ Per-Host Resources: mem-estimate=3.12GB mem-reservation=223.62MB thread-reservat
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=831.89MB Threads=13
-Per-Host Resource Estimates: Memory=9.13GB
+Max Per-Host Resource Reservation: Memory=950.77MB Threads=13
+Per-Host Resource Estimates: Memory=9.22GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -952,7 +952,7 @@ Per-Instance Resources: mem-estimate=4.13MB mem-reservation=4.00MB thread-reserv
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-reservation=1
+Per-Instance Resources: mem-estimate=2.27GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -996,13 +996,13 @@ Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-rese
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.03GB mem-reservation=151.31MB thread-reservation=0
+| mem-estimate=2.08GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=16.64MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1037,7 +1037,7 @@ Per-Instance Resources: mem-estimate=2.30GB mem-reservation=212.00MB thread-rese
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=2.26GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-max-mem-estimate.test b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-max-mem-estimate.test
index 8e5b979b5..d9c1d86e0 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-max-mem-estimate.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/agg-node-max-mem-estimate.test
@@ -128,7 +128,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=171.82MB Threads=10
+Max Per-Host Resource Reservation: Memory=186.82MB Threads=10
Per-Host Resource Estimates: Memory=5.69GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -144,7 +144,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Host Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -174,13 +174,13 @@ Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservat
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -202,7 +202,7 @@ Per-Host Resources: mem-estimate=5.50GB mem-reservation=140.62MB thread-reservat
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=5.36GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -294,7 +294,7 @@ Per-Host Resources: mem-estimate=5.50GB mem-reservation=140.62MB thread-reservat
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=183.45MB Threads=9
+Max Per-Host Resource Reservation: Memory=198.45MB Threads=9
Per-Host Resource Estimates: Memory=5.53GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -310,7 +310,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Instance Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -340,13 +340,13 @@ Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-rese
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -369,7 +369,7 @@ Per-Instance Resources: mem-estimate=5.40GB mem-reservation=129.00MB thread-rese
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=5.36GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -673,8 +673,8 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=426.45MB Threads=11
-Per-Host Resource Estimates: Memory=9.13GB
+Max Per-Host Resource Reservation: Memory=478.39MB Threads=11
+Per-Host Resource Estimates: Memory=9.17GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -724,7 +724,7 @@ Per-Host Resources: mem-estimate=4.08MB mem-reservation=4.00MB thread-reservatio
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Host Resources: mem-estimate=4.39GB mem-reservation=192.81MB thread-reservation=1
+Per-Host Resources: mem-estimate=4.44GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -768,13 +768,13 @@ Per-Host Resources: mem-estimate=4.39GB mem-reservation=192.81MB thread-reservat
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=4.02GB mem-reservation=158.81MB thread-reservation=0
+| mem-estimate=4.06GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=13.32MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -808,7 +808,7 @@ Per-Host Resources: mem-estimate=4.54GB mem-reservation=223.62MB thread-reservat
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=4.45GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -901,8 +901,8 @@ Per-Host Resources: mem-estimate=4.54GB mem-reservation=223.62MB thread-reservat
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=831.89MB Threads=13
-Per-Host Resource Estimates: Memory=9.13GB
+Max Per-Host Resource Reservation: Memory=950.77MB Threads=13
+Per-Host Resource Estimates: Memory=9.22GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -952,7 +952,7 @@ Per-Instance Resources: mem-estimate=4.13MB mem-reservation=4.00MB thread-reserv
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-reservation=1
+Per-Instance Resources: mem-estimate=2.27GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -996,13 +996,13 @@ Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-rese
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.03GB mem-reservation=151.31MB thread-reservation=0
+| mem-estimate=2.08GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=16.64MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1037,7 +1037,7 @@ Per-Instance Resources: mem-estimate=2.30GB mem-reservation=212.00MB thread-rese
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=2.26GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/aggregation-no-tuple-analysis.test b/testdata/workloads/functional-planner/queries/PlannerTest/aggregation-no-tuple-analysis.test
index 7ef23c73c..f299f7501 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/aggregation-no-tuple-analysis.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/aggregation-no-tuple-analysis.test
@@ -36,6 +36,7 @@ order by
limit 100
---- QUERYOPTIONS
ENABLE_TUPLE_ANALYSIS_IN_AGGREGATE=false
+ESTIMATE_DUPLICATE_IN_PREAGG=false
---- PLAN
Max Per-Host Resource Reservation: Memory=16.27MB Threads=7
Per-Host Resource Estimates: Memory=315MB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/aggregation.test b/testdata/workloads/functional-planner/queries/PlannerTest/aggregation.test
index fbea9ee88..bda1b6e0d 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/aggregation.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/aggregation.test
@@ -23,7 +23,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: count(*), count(tinyint_col), min(tinyint_col), max(tinyint_col), sum(tinyint_col), avg(tinyint_col)
-| row-size=34B cardinality=1
+| row-size=34B cardinality=3
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -53,14 +53,14 @@ PLAN-ROOT SINK
03:AGGREGATE [FINALIZE]
| output: count:merge(*), min:merge(tinyint_col), max:merge(tinyint_col), sum:merge(tinyint_col), avg:merge(tinyint_col)
| group by: bigint_col, tinyint_col
-| row-size=35B cardinality=9.07K
+| row-size=35B cardinality=9.05K
|
02:EXCHANGE [HASH(bigint_col,tinyint_col)]
|
01:AGGREGATE [STREAMING]
| output: count(*), min(tinyint_col), max(tinyint_col), sum(tinyint_col), avg(tinyint_col)
| group by: bigint_col, tinyint_col
-| row-size=35B cardinality=9.07K
+| row-size=35B cardinality=9.05K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -102,7 +102,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: avg(id), count(id), avg(zip)
-| row-size=24B cardinality=1
+| row-size=24B cardinality=0
|
00:SCAN HDFS [functional.testtbl]
HDFS partitions=1/1 files=0 size=0B
@@ -235,7 +235,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=3
|
00:UNION
| pass-through-operands: all
@@ -293,7 +293,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: bigint_col
-| row-size=16B cardinality=20
+| row-size=16B cardinality=60
|
00:UNION
| pass-through-operands: all
@@ -359,7 +359,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE [STREAMING]
| group by: int_col
-| row-size=4B cardinality=20
+| row-size=4B cardinality=60
|
00:UNION
| pass-through-operands: all
@@ -422,7 +422,7 @@ PLAN-ROOT SINK
04:AGGREGATE [STREAMING]
| output: count(int_col)
| group by: t.bigint_col
-| row-size=16B cardinality=20
+| row-size=16B cardinality=60
|
06:AGGREGATE
| group by: t.bigint_col, int_col
@@ -432,7 +432,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE [STREAMING]
| group by: bigint_col, int_col
-| row-size=12B cardinality=400
+| row-size=12B cardinality=1.20K
|
00:UNION
| pass-through-operands: all
@@ -501,7 +501,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(smallint_col)
| group by: int_col
-| row-size=12B cardinality=20
+| row-size=12B cardinality=60
|
00:UNION
| pass-through-operands: all
@@ -565,7 +565,7 @@ PLAN-ROOT SINK
04:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: t.bigint_col
-| row-size=24B cardinality=20
+| row-size=24B cardinality=60
|
06:AGGREGATE
| output: count:merge(smallint_col)
@@ -577,7 +577,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(smallint_col)
| group by: bigint_col, int_col
-| row-size=20B cardinality=400
+| row-size=20B cardinality=1.20K
|
00:UNION
| pass-through-operands: all
@@ -645,7 +645,7 @@ PLAN-ROOT SINK
05:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: t.bigint_col
-| row-size=24B cardinality=20
+| row-size=24B cardinality=60
|
09:AGGREGATE
| output: count:merge(smallint_col)
@@ -657,7 +657,7 @@ PLAN-ROOT SINK
04:AGGREGATE [STREAMING]
| output: count(smallint_col)
| group by: bigint_col, int_col
-| row-size=20B cardinality=400
+| row-size=20B cardinality=1.20K
|
07:AGGREGATE [FINALIZE]
| group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month
@@ -698,7 +698,7 @@ PLAN-ROOT SINK
| row-size=24B cardinality=200.52K
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=193.98MB
+ HDFS partitions=1/1 files=3 size=193.99MB
row-size=24B cardinality=6.00M
---- DISTRIBUTEDPLAN
PLAN-ROOT SINK
@@ -723,10 +723,10 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: avg(l_quantity), ndv(l_discount)
| group by: l_partkey
-| row-size=24B cardinality=200.52K
+| row-size=24B cardinality=601.52K
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=193.98MB
+ HDFS partitions=1/1 files=3 size=193.99MB
row-size=24B cardinality=6.00M
====
# test that aggregations are not placed below an unpartitioned exchange with a limit
@@ -995,7 +995,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: string_col
-| row-size=15B cardinality=963
+| row-size=15B cardinality=2.83K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1084,17 +1084,17 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(CAST(timestamp_col AS STRING)), group_concat(CAST(timestamp_col AS STRING))
| group by: `year`
-| row-size=24B cardinality=1
+| row-size=24B cardinality=3
|
04:AGGREGATE
| group by: `year`, CAST(timestamp_col AS STRING)
-| row-size=20B cardinality=10.21K
+| row-size=20B cardinality=9.24K
|
03:EXCHANGE [HASH(`year`,CAST(timestamp_col AS STRING))]
|
01:AGGREGATE [STREAMING]
| group by: `year`, CAST(timestamp_col AS STRING)
-| row-size=20B cardinality=10.21K
+| row-size=20B cardinality=9.24K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1140,7 +1140,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: string_col
-| row-size=23B cardinality=963
+| row-size=23B cardinality=2.83K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1187,7 +1187,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: sum(int_col)
| group by: string_col
-| row-size=23B cardinality=963
+| row-size=23B cardinality=2.83K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1229,7 +1229,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(date_string_col), group_concat(date_string_col, '-'), count:merge(*)
| group by: `month`, `year`
-| row-size=36B cardinality=1
+| row-size=36B cardinality=3
|
04:AGGREGATE
| output: count:merge(*)
@@ -1241,7 +1241,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: `month`, `year`, date_string_col
-| row-size=36B cardinality=10
+| row-size=36B cardinality=30
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1285,7 +1285,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: string_col
-| row-size=15B cardinality=963
+| row-size=15B cardinality=2.83K
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -1487,7 +1487,7 @@ PLAN-ROOT SINK
06:EXCHANGE [HASH(l_orderkey,l_returnflag)]
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=193.98MB
+ HDFS partitions=1/1 files=3 size=193.99MB
runtime filters: RF004 -> l_orderkey, RF005 -> l_returnflag
row-size=21B cardinality=5.76M(filtered from 6.00M)
====
@@ -1513,7 +1513,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: t2.id
-| row-size=12B cardinality=99
+| row-size=12B cardinality=297
|
02:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]
| hash predicates: t1.id = t2.id
@@ -1775,7 +1775,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: bigint_col
-| row-size=24B cardinality=10
+| row-size=24B cardinality=40
|
05:AGGREGATE
| output: count:merge(smallint_col)
@@ -1841,7 +1841,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: bigint_col
-| row-size=24B cardinality=10
+| row-size=24B cardinality=40
|
05:AGGREGATE
| output: count:merge(smallint_col)
@@ -1978,7 +1978,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: bigint_col
-| row-size=24B cardinality=10
+| row-size=24B cardinality=40
|
05:AGGREGATE
| output: count:merge(smallint_col)
@@ -2047,7 +2047,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(int_col), count:merge(smallint_col)
| group by: bigint_col
-| row-size=24B cardinality=10
+| row-size=24B cardinality=40
|
05:AGGREGATE
| output: count:merge(smallint_col)
@@ -2123,7 +2123,7 @@ PLAN-ROOT SINK
05:AGGREGATE [STREAMING]
| output: count(*)
| group by: ss_item_sk
-| row-size=16B cardinality=17.98K
+| row-size=16B cardinality=107.85K
|
10:AGGREGATE [FINALIZE]
| group by: ss_item_sk, ss_customer_sk
@@ -2223,7 +2223,7 @@ PLAN-ROOT SINK
05:AGGREGATE [STREAMING]
| output: count(*)
| group by: c_nationkey
-| row-size=10B cardinality=25
+| row-size=10B cardinality=50
|
10:AGGREGATE [FINALIZE]
| group by: c_nationkey, c_custkey
@@ -2233,7 +2233,7 @@ PLAN-ROOT SINK
|
04:AGGREGATE [STREAMING]
| group by: c_nationkey, c_custkey
-| row-size=10B cardinality=150.00K
+| row-size=10B cardinality=297.98K
|
03:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: o_custkey = c_custkey
@@ -2337,7 +2337,7 @@ PLAN-ROOT SINK
07:AGGREGATE [STREAMING]
| output: count(*)
| group by: c_nationkey
-| row-size=10B cardinality=25
+| row-size=10B cardinality=50
|
12:AGGREGATE [FINALIZE]
| group by: c_nationkey, c_custkey
@@ -2347,7 +2347,7 @@ PLAN-ROOT SINK
|
06:AGGREGATE [STREAMING]
| group by: c_nationkey, c_custkey
-| row-size=10B cardinality=300.00K
+| row-size=10B cardinality=595.96K
|
05:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: o_custkey = c_custkey
@@ -2462,7 +2462,7 @@ PLAN-ROOT SINK
07:AGGREGATE [STREAMING]
| output: count(*)
| group by: c_nationkey
-| row-size=10B cardinality=25
+| row-size=10B cardinality=44
|
11:AGGREGATE [FINALIZE]
| group by: c_nationkey, c_custkey
@@ -2472,7 +2472,7 @@ PLAN-ROOT SINK
|
06:AGGREGATE [STREAMING]
| group by: c_nationkey, c_custkey
-| row-size=10B cardinality=100
+| row-size=10B cardinality=200
|
05:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: o_custkey = c_custkey
@@ -2524,7 +2524,7 @@ PLAN-ROOT SINK
| row-size=12B cardinality=1
|
00:SCAN HDFS [tpcds_parquet.store_sales]
- HDFS partitions=1824/1824 files=1824 size=199.39MB
+ HDFS partitions=1824/1824 files=1824 size=200.96MB
predicates: ss_customer_sk = 1
row-size=4B cardinality=30
---- PARALLELPLANS
@@ -2542,10 +2542,10 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: ss_customer_sk
-| row-size=12B cardinality=1
+| row-size=12B cardinality=6
|
00:SCAN HDFS [tpcds_parquet.store_sales]
- HDFS partitions=1824/1824 files=1824 size=199.39MB
+ HDFS partitions=1824/1824 files=1824 size=200.96MB
predicates: ss_customer_sk = 1
row-size=4B cardinality=30
====
@@ -2563,7 +2563,7 @@ PLAN-ROOT SINK
| row-size=12B cardinality=5
|
00:SCAN HDFS [tpcds_parquet.store_sales]
- HDFS partitions=1824/1824 files=1824 size=199.39MB
+ HDFS partitions=1824/1824 files=1824 size=200.96MB
predicates: ss_customer_sk IN (1, 2, 3, 4, 5)
row-size=4B cardinality=159
---- PARALLELPLANS
@@ -2581,10 +2581,10 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: ss_customer_sk
-| row-size=12B cardinality=5
+| row-size=12B cardinality=30
|
00:SCAN HDFS [tpcds_parquet.store_sales]
- HDFS partitions=1824/1824 files=1824 size=199.39MB
+ HDFS partitions=1824/1824 files=1824 size=200.96MB
predicates: ss_customer_sk IN (1, 2, 3, 4, 5)
row-size=4B cardinality=159
====
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/analytic-fns.test b/testdata/workloads/functional-planner/queries/PlannerTest/analytic-fns.test
index f15e32ea8..6f8d849de 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/analytic-fns.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/analytic-fns.test
@@ -26,7 +26,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: int_col, tinyint_col
-| row-size=5B cardinality=100
+| row-size=5B cardinality=300
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -824,7 +824,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: min(int_col), min(tinyint_col), max(int_col), sum(bigint_col), sum(int_col)
| group by: bool_col
-| row-size=26B cardinality=2
+| row-size=26B cardinality=6
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -2120,7 +2120,7 @@ PLAN-ROOT SINK
|
06:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=3
|
05:SELECT
| predicates: id IS NULL, tinyint_col != 5
@@ -2954,7 +2954,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(bigint_col)
| group by: string_col, int_col
-| row-size=25B cardinality=100
+| row-size=25B cardinality=300
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -3005,7 +3005,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: string_col, int_col, bigint_col
-| row-size=25B cardinality=1.00K
+| row-size=25B cardinality=2.74K
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -3042,7 +3042,7 @@ PLAN-ROOT SINK
| row-size=0B cardinality=10
|
00:SCAN HDFS [tpch_nested_parquet.customer t]
- HDFS partitions=1/1 files=4 size=289.02MB
+ HDFS partitions=1/1 files=4 size=289.07MB
row-size=20B cardinality=150.00K
====
# IMPALA-8718: No more collection slots in the output of the inline view of analytics.
@@ -3083,11 +3083,11 @@ PLAN-ROOT SINK
| | row-size=0B cardinality=10
| |
| 01:SCAN HDFS [tpch_nested_parquet.customer t]
-| HDFS partitions=1/1 files=4 size=289.02MB
+| HDFS partitions=1/1 files=4 size=289.07MB
| row-size=20B cardinality=150.00K
|
00:SCAN HDFS [tpch_nested_parquet.customer leftside]
- HDFS partitions=1/1 files=4 size=289.02MB
+ HDFS partitions=1/1 files=4 size=289.07MB
row-size=38B cardinality=150.00K
====
# IMPALA-10406: Query with analytic functions doesn't need to materialize the predicates bounded to kudu
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/card-agg.test b/testdata/workloads/functional-planner/queries/PlannerTest/card-agg.test
index 6d4f58a78..c615295ae 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/card-agg.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/card-agg.test
@@ -133,7 +133,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: l_partkey, l_linenumber
-| row-size=20B cardinality=1.40M
+| row-size=20B cardinality=3.20M
|
00:SCAN HDFS [tpch.lineitem]
HDFS partitions=1/1 files=1 size=718.94MB
@@ -205,7 +205,7 @@ PLAN-ROOT SINK
| group by: l_orderkey
| Class 1
| group by: l_partkey
-| row-size=16B cardinality=1.76M
+| row-size=16B cardinality=3.99M
|
00:SCAN HDFS [tpch.lineitem]
HDFS partitions=1/1 files=1 size=718.94MB
@@ -285,7 +285,7 @@ PLAN-ROOT SINK
| Class 2
| output: count(l_suppkey)
| group by: l_partkey
-| row-size=48B cardinality=601.55K
+| row-size=48B cardinality=1.80M
|
05:AGGREGATE
| Class 0
@@ -347,7 +347,7 @@ PLAN-ROOT SINK
| row-size=80B cardinality=18.00M
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=194.00MB
+ HDFS partitions=1/1 files=3 size=193.99MB
row-size=40B cardinality=6.00M
---- DISTRIBUTEDPLAN
PLAN-ROOT SINK
@@ -408,7 +408,7 @@ PLAN-ROOT SINK
| row-size=80B cardinality=18.00M
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=194.00MB
+ HDFS partitions=1/1 files=3 size=193.99MB
row-size=40B cardinality=6.00M
====
# Mixed grouping and non-grouping aggregations.
@@ -487,7 +487,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| output: count(*)
-| row-size=16B cardinality=7.31K
+| row-size=16B cardinality=7.33K
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-hash-join.test b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-hash-join.test
index a43b98c5b..c186e84b2 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-hash-join.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-hash-join.test
@@ -432,7 +432,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=2
|
02:DELETE EVENTS HASH JOIN [LEFT ANTI JOIN, PARTITIONED]
| row-size=20B cardinality=6
@@ -1229,7 +1229,7 @@ PLAN-ROOT SINK
| |
| 08:AGGREGATE
| | output: count(*)
-| | row-size=8B cardinality=1
+| | row-size=8B cardinality=2
| |
| 07:DELETE EVENTS HASH JOIN [LEFT ANTI JOIN, PARTITIONED]
| | row-size=20B cardinality=6
@@ -1265,7 +1265,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=2
|
02:DELETE EVENTS HASH JOIN [LEFT ANTI JOIN, PARTITIONED]
| row-size=20B cardinality=6
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-resources.test b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-resources.test
index 8acedb5f3..3d8951f5e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-resources.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables-resources.test
@@ -973,7 +973,7 @@ PLAN-ROOT SINK
|
05:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=2
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -981,7 +981,7 @@ Per-Host Resources: mem-estimate=32.02MB mem-reservation=16.76KB thread-reservat
03:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=2
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
@@ -2324,7 +2324,7 @@ PLAN-ROOT SINK
| |
| 16:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=2
| | in pipelines: 08(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2332,7 +2332,7 @@ PLAN-ROOT SINK
| 08:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=2
| | in pipelines: 08(GETNEXT), 05(OPEN)
| |
| 07:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
@@ -2396,7 +2396,7 @@ PLAN-ROOT SINK
|
12:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=2
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2404,7 +2404,7 @@ Per-Host Resources: mem-estimate=32.02MB mem-reservation=16.76KB thread-reservat
03:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=2
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test
index f4bc7829a..ffa35be84 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test
@@ -476,7 +476,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=2
|
02:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
| row-size=20B cardinality=2
@@ -1261,7 +1261,7 @@ PLAN-ROOT SINK
| |
| 08:AGGREGATE
| | output: count(*)
-| | row-size=8B cardinality=1
+| | row-size=8B cardinality=2
| |
| 07:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
| | row-size=20B cardinality=2
@@ -1295,7 +1295,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=2
|
02:DELETE EVENTS ICEBERG DELETE [ICEBERG DELETE JOIN, DIRECTED]
| row-size=20B cardinality=2
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/join-order.test b/testdata/workloads/functional-planner/queries/PlannerTest/join-order.test
index 30ca5612b..5c444603f 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/join-order.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/join-order.test
@@ -344,7 +344,7 @@ PLAN-ROOT SINK
11:AGGREGATE [STREAMING]
| output: sum(l_extendedprice * (1 - l_discount))
| group by: n_name
-| row-size=35B cardinality=25
+| row-size=35B cardinality=75
|
10:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: n_regionkey = r_regionkey
@@ -607,7 +607,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: o_orderpriority
-| row-size=28B cardinality=5
+| row-size=28B cardinality=15
|
02:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
@@ -679,7 +679,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: o_orderpriority
-| row-size=28B cardinality=5
+| row-size=28B cardinality=15
|
02:HASH JOIN [FULL OUTER JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
@@ -747,7 +747,7 @@ PLAN-ROOT SINK
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: o_orderpriority
-| row-size=28B cardinality=5
+| row-size=28B cardinality=15
|
02:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
@@ -814,7 +814,7 @@ PLAN-ROOT SINK
|
05:AGGREGATE
| output: count(*)
-| row-size=8B cardinality=1
+| row-size=8B cardinality=2
|
04:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: c_nationkey = n_nationkey
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/joins.test b/testdata/workloads/functional-planner/queries/PlannerTest/joins.test
index a130dce08..534ecf8d1 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/joins.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/joins.test
@@ -959,7 +959,7 @@ PLAN-ROOT SINK
| 02:AGGREGATE [STREAMING]
| | output: count(*)
| | group by: int_col, bool_col
-| | row-size=13B cardinality=20
+| | row-size=13B cardinality=60
| |
| 01:SCAN HDFS [functional.alltypes]
| HDFS partitions=24/24 files=24 size=478.45KB
@@ -1043,7 +1043,7 @@ PLAN-ROOT SINK
| 03:AGGREGATE [STREAMING]
| | output: count(*)
| | group by: int_col, bool_col
-| | row-size=13B cardinality=20
+| | row-size=13B cardinality=60
| |
| 02:SCAN HDFS [functional.alltypes]
| HDFS partitions=24/24 files=24 size=478.45KB
@@ -1532,7 +1532,7 @@ PLAN-ROOT SINK
| |
| 03:AGGREGATE [STREAMING]
| | group by: bigint_col
-| | row-size=8B cardinality=2
+| | row-size=8B cardinality=6
| |
| 02:SCAN HDFS [functional.alltypestiny]
| HDFS partitions=4/4 files=4 size=460B
@@ -1546,7 +1546,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: int_col
-| row-size=4B cardinality=10
+| row-size=4B cardinality=30
|
00:SCAN HDFS [functional.alltypessmall]
HDFS partitions=4/4 files=4 size=6.32KB
@@ -2036,7 +2036,7 @@ PLAN-ROOT SINK
| |
| 01:AGGREGATE [STREAMING]
| | group by: tinyint_col, int_col
-| | row-size=5B cardinality=4
+| | row-size=5B cardinality=8
| |
| 00:SCAN HDFS [functional.alltypestiny]
| HDFS partitions=4/4 files=4 size=460B
@@ -2094,7 +2094,7 @@ PLAN-ROOT SINK
| |
| 01:AGGREGATE [STREAMING]
| | group by: tinyint_col, int_col
-| | row-size=5B cardinality=4
+| | row-size=5B cardinality=8
| |
| 00:SCAN HDFS [functional.alltypestiny]
| HDFS partitions=4/4 files=4 size=460B
@@ -2164,7 +2164,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: bigint_col, string_col
-| row-size=21B cardinality=4
+| row-size=21B cardinality=8
|
00:SCAN HDFS [functional.alltypestiny]
HDFS partitions=4/4 files=4 size=460B
@@ -2199,7 +2199,7 @@ PLAN-ROOT SINK
| |
| 03:AGGREGATE [STREAMING]
| | group by: b.string_col, b.int_col
-| | row-size=17B cardinality=100
+| | row-size=17B cardinality=300
| |
| 02:SCAN HDFS [functional.alltypes b]
| HDFS partitions=24/24 files=24 size=478.45KB
@@ -2213,7 +2213,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: int_col, string_col
-| row-size=17B cardinality=4
+| row-size=17B cardinality=8
|
00:SCAN HDFS [functional.alltypestiny]
HDFS partitions=4/4 files=4 size=460B
@@ -2246,7 +2246,7 @@ PLAN-ROOT SINK
| |
| 02:AGGREGATE [STREAMING]
| | group by: int_col, string_col
-| | row-size=17B cardinality=4
+| | row-size=17B cardinality=8
| |
| 01:SCAN HDFS [functional.alltypestiny]
| HDFS partitions=4/4 files=4 size=460B
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-limit.test b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-limit.test
index 44cae21fd..9b00b0e55 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-limit.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-limit.test
@@ -78,7 +78,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: min(timestamp_col), max(timestamp_col)
-| row-size=35B cardinality=21
+| row-size=35B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -113,7 +113,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: min(timestamp_col)
-| row-size=16B cardinality=1
+| row-size=16B cardinality=3
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -148,7 +148,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: max(timestamp_col)
-| row-size=16B cardinality=1
+| row-size=16B cardinality=3
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -201,7 +201,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: max(timestamp_col)
| group by: smallint_col
-| row-size=18B cardinality=10
+| row-size=18B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-materialization.test b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-materialization.test
index d8dd6c857..08114bb5b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-materialization.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-materialization.test
@@ -77,7 +77,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| output: min(float_col), max(float_col), sum(double_col)
-| row-size=21B cardinality=21
+| row-size=21B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -165,7 +165,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| output: max(float_col)
-| row-size=9B cardinality=21
+| row-size=9B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -419,7 +419,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: tinyint_col
-| row-size=1B cardinality=10
+| row-size=1B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -464,7 +464,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: smallint_col
-| row-size=2B cardinality=10
+| row-size=2B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -548,7 +548,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: min(timestamp_col), max(date_string_col)
-| row-size=31B cardinality=21
+| row-size=31B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -634,7 +634,7 @@ PLAN-ROOT SINK
| Class 2
| output: min:merge(timestamp_col), max:merge(date_string_col)
| group by: bigint_col
-| row-size=68B cardinality=30
+| row-size=68B cardinality=90
|
06:AGGREGATE
| Class 0
@@ -656,7 +656,7 @@ PLAN-ROOT SINK
| Class 2
| output: min(timestamp_col), max(date_string_col)
| group by: bigint_col
-| row-size=55B cardinality=210
+| row-size=55B cardinality=630
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -779,7 +779,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: tinyint_col
-| row-size=1B cardinality=10
+| row-size=1B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -829,7 +829,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: smallint_col
-| row-size=2B cardinality=10
+| row-size=2B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -866,7 +866,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: min(string_col), max(string_col)
-| row-size=24B cardinality=1
+| row-size=24B cardinality=3
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -920,7 +920,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: min(string_col), max(string_col)
| group by: tinyint_col
-| row-size=25B cardinality=10
+| row-size=25B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-predicates.test b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-predicates.test
index a5769be81..c9cda4593 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-predicates.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct-predicates.test
@@ -79,7 +79,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: max(string_col)
-| row-size=15B cardinality=21
+| row-size=15B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -164,7 +164,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: max(string_col)
-| row-size=15B cardinality=21
+| row-size=15B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -250,7 +250,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: max(string_col)
-| row-size=15B cardinality=21
+| row-size=15B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -336,7 +336,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: max(string_col)
-| row-size=15B cardinality=21
+| row-size=15B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct.test b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct.test
index b95b1f296..03b4d38ad 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/multiple-distinct.test
@@ -74,7 +74,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| group by: smallint_col
-| row-size=7B cardinality=30
+| row-size=7B cardinality=90
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -156,7 +156,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| group by: smallint_col
-| row-size=7B cardinality=30
+| row-size=7B cardinality=90
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -238,7 +238,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| group by: smallint_col
-| row-size=7B cardinality=30
+| row-size=7B cardinality=90
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -320,7 +320,7 @@ PLAN-ROOT SINK
| group by: int_col
| Class 2
| group by: smallint_col
-| row-size=7B cardinality=30
+| row-size=7B cardinality=90
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -396,7 +396,7 @@ PLAN-ROOT SINK
| Class 2
| output: count(smallint_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -416,7 +416,7 @@ PLAN-ROOT SINK
| group by: bigint_col, int_col
| Class 2
| group by: bigint_col, smallint_col
-| row-size=31B cardinality=300
+| row-size=31B cardinality=900
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -492,7 +492,7 @@ PLAN-ROOT SINK
| Class 2
| output: count(smallint_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -512,7 +512,7 @@ PLAN-ROOT SINK
| group by: bigint_col, int_col
| Class 2
| group by: bigint_col, smallint_col
-| row-size=31B cardinality=300
+| row-size=31B cardinality=900
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -588,7 +588,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg(smallint_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -608,7 +608,7 @@ PLAN-ROOT SINK
| group by: bigint_col, int_col
| Class 2
| group by: bigint_col, smallint_col
-| row-size=31B cardinality=300
+| row-size=31B cardinality=900
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -684,7 +684,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg(smallint_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -704,7 +704,7 @@ PLAN-ROOT SINK
| group by: bigint_col, int_col
| Class 2
| group by: bigint_col, smallint_col
-| row-size=31B cardinality=300
+| row-size=31B cardinality=900
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -786,7 +786,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: count(int_col)
-| row-size=11B cardinality=21
+| row-size=11B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -869,7 +869,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: count(int_col)
-| row-size=11B cardinality=21
+| row-size=11B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -952,7 +952,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: avg(int_col)
-| row-size=11B cardinality=21
+| row-size=11B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -1034,7 +1034,7 @@ PLAN-ROOT SINK
| group by: smallint_col
| Class 2
| output: avg(int_col)
-| row-size=11B cardinality=21
+| row-size=11B cardinality=63
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -1111,7 +1111,7 @@ PLAN-ROOT SINK
| Class 2
| output: count:merge(int_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -1133,7 +1133,7 @@ PLAN-ROOT SINK
| Class 2
| output: count(int_col)
| group by: bigint_col
-| row-size=35B cardinality=210
+| row-size=35B cardinality=630
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -1211,7 +1211,7 @@ PLAN-ROOT SINK
| Class 2
| output: count:merge(int_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -1233,7 +1233,7 @@ PLAN-ROOT SINK
| Class 2
| output: count(int_col)
| group by: bigint_col
-| row-size=35B cardinality=210
+| row-size=35B cardinality=630
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -1311,7 +1311,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg:merge(int_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -1333,7 +1333,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg(int_col)
| group by: bigint_col
-| row-size=35B cardinality=210
+| row-size=35B cardinality=630
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -1410,7 +1410,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg:merge(int_col)
| group by: bigint_col
-| row-size=48B cardinality=30
+| row-size=48B cardinality=90
|
05:AGGREGATE
| Class 0
@@ -1432,7 +1432,7 @@ PLAN-ROOT SINK
| Class 2
| output: avg(int_col)
| group by: bigint_col
-| row-size=35B cardinality=210
+| row-size=35B cardinality=630
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test b/testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test
index e268143f9..e3a1aa4b6 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test
@@ -1239,7 +1239,7 @@ PLAN-ROOT SINK
05:AGGREGATE [STREAMING]
| output: count(*)
| group by: t2.id
-| row-size=12B cardinality=99
+| row-size=12B cardinality=297
|
04:HASH JOIN [RIGHT OUTER JOIN, PARTITIONED]
| hash predicates: t2.id = t3.id
@@ -1298,7 +1298,7 @@ PLAN-ROOT SINK
05:AGGREGATE [STREAMING]
| output: count(*)
| group by: t1.int_col
-| row-size=12B cardinality=10
+| row-size=12B cardinality=30
|
04:HASH JOIN [FULL OUTER JOIN, PARTITIONED]
| hash predicates: t1.int_col = t3.int_col
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/partition-key-scans-default.test b/testdata/workloads/functional-planner/queries/PlannerTest/partition-key-scans-default.test
index e3c1409d5..096e051a1 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/partition-key-scans-default.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/partition-key-scans-default.test
@@ -22,7 +22,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE
| output: min(`month`), max(`year`), ndv(`day`)
-| row-size=16B cardinality=1
+| row-size=16B cardinality=3
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -70,7 +70,7 @@ PLAN-ROOT SINK
01:AGGREGATE [STREAMING]
| output: ndv(`day`)
| group by: `year`
-| row-size=12B cardinality=1
+| row-size=12B cardinality=3
|
00:SCAN HDFS [functional.alltypesagg]
HDFS partitions=11/11 files=11 size=814.73KB
@@ -191,7 +191,7 @@ PLAN-ROOT SINK
|
03:AGGREGATE
| output: min(a.`month`)
-| row-size=4B cardinality=1
+| row-size=4B cardinality=3
|
02:HASH JOIN [INNER JOIN, PARTITIONED]
| hash predicates: a.`year` = b.`year`
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/preagg-bytes-limit.test b/testdata/workloads/functional-planner/queries/PlannerTest/preagg-bytes-limit.test
index 51d62a0aa..db8824344 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/preagg-bytes-limit.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/preagg-bytes-limit.test
@@ -2,7 +2,7 @@
select distinct l_orderkey, l_partkey, l_suppkey from tpch_parquet.lineitem
---- DISTRIBUTEDPLAN
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Host Resources: mem-estimate=10.08MB mem-reservation=0B thread-reservation=1
+| Per-Host Resources: mem-estimate=110.08MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey
| mem-estimate=100.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
@@ -13,10 +13,10 @@ PLAN-ROOT SINK
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey,l_partkey,l_suppkey)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=86.39MB mem-reservation=34.00MB thread-reservation=1
+Per-Host Resources: mem-estimate=78.76MB mem-reservation=34.00MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| group by: l_orderkey, l_partkey, l_suppkey
-| mem-estimate=76.31MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=68.68MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=24B cardinality=6.00M
| in pipelines: 03(GETNEXT), 00(OPEN)
|
@@ -26,10 +26,10 @@ Per-Host Resources: mem-estimate=86.39MB mem-reservation=34.00MB thread-reservat
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=297.23MB mem-reservation=50.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=291.84MB mem-reservation=50.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| group by: l_orderkey, l_partkey, l_suppkey
-| mem-estimate=57.23MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=51.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=24B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
@@ -47,7 +47,7 @@ Per-Host Resources: mem-estimate=297.23MB mem-reservation=50.00MB thread-reserva
select distinct l_suppkey from tpch_parquet.lineitem
---- DISTRIBUTEDPLAN
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Host Resources: mem-estimate=61.29KB mem-reservation=0B thread-reservation=1
+| Per-Host Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_suppkey
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
@@ -58,7 +58,7 @@ PLAN-ROOT SINK
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_suppkey)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.06MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.11MB mem-reservation=1.94MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| group by: l_suppkey
| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -66,16 +66,16 @@ Per-Host Resources: mem-estimate=10.06MB mem-reservation=1.94MB thread-reservati
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_suppkey)]
-| mem-estimate=61.29KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=9.71K
+| mem-estimate=111.88KB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=8B cardinality=29.14K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=90.00MB mem-reservation=6.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=90.14MB mem-reservation=6.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| group by: l_suppkey
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=9.71K
+| tuple-ids=1 row-size=8B cardinality=29.14K
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -94,7 +94,7 @@ select distinct l_orderkey, l_partkey, l_suppkey from tpch_parquet.lineitem
DEFAULT_SPILLABLE_BUFFER_SIZE=8M
---- DISTRIBUTEDPLAN
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Host Resources: mem-estimate=10.08MB mem-reservation=0B thread-reservation=1
+| Per-Host Resources: mem-estimate=110.08MB mem-reservation=16.00MB thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey
| mem-estimate=100.00MB mem-reservation=16.00MB spill-buffer=8.00MB thread-reservation=0
@@ -118,7 +118,7 @@ Per-Host Resources: mem-estimate=146.08MB mem-reservation=136.00MB thread-reserv
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=308.00MB mem-reservation=84.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=308.33MB mem-reservation=84.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| group by: l_orderkey, l_partkey, l_suppkey
| mem-estimate=68.00MB mem-reservation=68.00MB spill-buffer=4.00MB thread-reservation=0
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/processing-cost-plan-admission-slots.test b/testdata/workloads/functional-planner/queries/PlannerTest/processing-cost-plan-admission-slots.test
index feb5ff096..2ce812661 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/processing-cost-plan-admission-slots.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/processing-cost-plan-admission-slots.test
@@ -79,7 +79,7 @@ max-parallelism=3 segment-costs=[556049, 104] cpu-comparison-result=16 [max(3 (s
| |
| F09:PLAN FRAGMENT [HASH(ctr2.ctr_store_sk)] hosts=3 instances=3 (adjusted from 384)
| Per-Instance Resources: mem-estimate=10.09MB mem-reservation=1.94MB thread-reservation=1
-| max-parallelism=3 segment-costs=[690, 0] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
+| max-parallelism=3 segment-costs=[1156, 0] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
| 25:AGGREGATE [FINALIZE]
| | output: avg:merge(ctr_total_return)
| | group by: ctr2.ctr_store_sk
@@ -88,18 +88,18 @@ max-parallelism=3 segment-costs=[556049, 104] cpu-comparison-result=16 [max(3 (s
| | in pipelines: 25(GETNEXT), 23(OPEN)
| |
| 24:EXCHANGE [HASH(ctr2.ctr_store_sk)]
-| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6 cost=1
+| | mem-estimate=87.00KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=10 row-size=20B cardinality=2.30K cost=467
| | in pipelines: 23(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(sr_customer_sk,sr_store_sk)] hosts=3 instances=3 (adjusted from 384)
| Per-Instance Resources: mem-estimate=20.49MB mem-reservation=3.94MB thread-reservation=1
-| max-parallelism=3 segment-costs=[327730, 21660, 10] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
+| max-parallelism=3 segment-costs=[327730, 21660, 4154] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
| 10:AGGREGATE [STREAMING]
| | output: avg(sum(SR_RETURN_AMT))
| | group by: sr_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6 cost=21660
+| | tuple-ids=10 row-size=20B cardinality=2.30K cost=21660
| | in pipelines: 23(GETNEXT)
| |
| 23:AGGREGATE [FINALIZE]
@@ -408,7 +408,7 @@ max-parallelism=3 segment-costs=[556049, 104] cpu-comparison-result=16 [max(3 (s
| |
| F09:PLAN FRAGMENT [HASH(ctr2.ctr_store_sk)] hosts=3 instances=3 (adjusted from 384)
| Per-Instance Resources: mem-estimate=10.09MB mem-reservation=1.94MB thread-reservation=1
-| max-parallelism=3 segment-costs=[690, 0] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
+| max-parallelism=3 segment-costs=[1156, 0] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
| 25:AGGREGATE [FINALIZE]
| | output: avg:merge(ctr_total_return)
| | group by: ctr2.ctr_store_sk
@@ -417,18 +417,18 @@ max-parallelism=3 segment-costs=[556049, 104] cpu-comparison-result=16 [max(3 (s
| | in pipelines: 25(GETNEXT), 23(OPEN)
| |
| 24:EXCHANGE [HASH(ctr2.ctr_store_sk)]
-| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6 cost=1
+| | mem-estimate=87.00KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=10 row-size=20B cardinality=2.30K cost=467
| | in pipelines: 23(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(sr_customer_sk,sr_store_sk)] hosts=3 instances=3 (adjusted from 384)
| Per-Instance Resources: mem-estimate=20.49MB mem-reservation=3.94MB thread-reservation=1
-| max-parallelism=3 segment-costs=[327730, 21660, 10] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
+| max-parallelism=3 segment-costs=[327730, 21660, 4154] cpu-comparison-result=4 [max(3 (self) vs 4 (sum children))]
| 10:AGGREGATE [STREAMING]
| | output: avg(sum(SR_RETURN_AMT))
| | group by: sr_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6 cost=21660
+| | tuple-ids=10 row-size=20B cardinality=2.30K cost=21660
| | in pipelines: 23(GETNEXT)
| |
| 23:AGGREGATE [FINALIZE]
@@ -744,7 +744,7 @@ Per-Instance Resources: mem-estimate=504.82KB mem-reservation=0B thread-reservat
| |
| 24:EXCHANGE [HASH(ctr2.ctr_store_sk)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6
+| | tuple-ids=10 row-size=20B cardinality=18
| | in pipelines: 23(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(sr_customer_sk,sr_store_sk)] hosts=3 instances=3
@@ -753,7 +753,7 @@ Per-Instance Resources: mem-estimate=504.82KB mem-reservation=0B thread-reservat
| | output: avg(sum(SR_RETURN_AMT))
| | group by: sr_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=10 row-size=20B cardinality=6
+| | tuple-ids=10 row-size=20B cardinality=18
| | in pipelines: 23(GETNEXT)
| |
| 23:AGGREGATE [FINALIZE]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test b/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
index e29d53900..9731bf44a 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
@@ -244,9 +244,9 @@ PLAN-ROOT SINK
| mem-estimate=91.55MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=24.00MB thread-reservation=1
@@ -270,9 +270,9 @@ PLAN-ROOT SINK
| mem-estimate=22.89MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
@@ -295,9 +295,9 @@ PLAN-ROOT SINK
| mem-estimate=11.44MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
@@ -345,10 +345,10 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=32.00MB thread-reservation=1
@@ -394,10 +394,10 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
@@ -444,10 +444,10 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
@@ -493,10 +493,10 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
@@ -542,10 +542,10 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
@@ -613,11 +613,11 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
predicates: !empty(c.c_orders)
predicates on o: !empty(o.o_lineitems)
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
@@ -1186,9 +1186,9 @@ PLAN-ROOT SINK
| mem-estimate=100.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
- HDFS partitions=1/1 files=6 size=144.66MB
+ HDFS partitions=1/1 files=6 size=142.84MB
stored statistics:
- table: rows=6.00M size=144.66MB
+ table: rows=6.00M size=142.84MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.08M
mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
@@ -1238,9 +1238,9 @@ PLAN-ROOT SINK
| mem-estimate=100.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
- HDFS partitions=1/1 files=6 size=144.66MB
+ HDFS partitions=1/1 files=6 size=142.84MB
stored statistics:
- table: rows=6.00M size=144.66MB
+ table: rows=6.00M size=142.84MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.08M
mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
@@ -1770,7 +1770,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=59.00MB Threads=4
-Per-Host Resource Estimates: Memory=177MB
+Per-Host Resource Estimates: Memory=179MB
Analyzed query: SELECT l_orderkey, count(*) FROM tpch_parquet.lineitem GROUP BY
l_orderkey
@@ -1786,7 +1786,7 @@ PLAN-ROOT SINK
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=25.01MB mem-reservation=17.00MB thread-reservation=1
+Per-Host Resources: mem-estimate=27.06MB mem-reservation=17.00MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| group by: l_orderkey
@@ -1795,8 +1795,8 @@ Per-Host Resources: mem-estimate=25.01MB mem-reservation=17.00MB thread-reservat
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_orderkey)]
-| mem-estimate=8.01MB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=1.56M
+| mem-estimate=10.06MB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=16B cardinality=3.39M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1805,7 +1805,7 @@ Per-Host Resources: mem-estimate=120.30MB mem-reservation=38.00MB thread-reserva
| output: count(*)
| group by: l_orderkey
| mem-estimate=40.06MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=1.56M
+| tuple-ids=1 row-size=16B cardinality=3.39M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -1819,7 +1819,7 @@ Per-Host Resources: mem-estimate=120.30MB mem-reservation=38.00MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=59.00MB Threads=3
-Per-Host Resource Estimates: Memory=177MB
+Per-Host Resource Estimates: Memory=179MB
Analyzed query: SELECT l_orderkey, count(*) FROM tpch_parquet.lineitem GROUP BY
l_orderkey
@@ -1835,7 +1835,7 @@ PLAN-ROOT SINK
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=25.01MB mem-reservation=17.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=27.06MB mem-reservation=17.00MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| group by: l_orderkey
@@ -1844,8 +1844,8 @@ Per-Instance Resources: mem-estimate=25.01MB mem-reservation=17.00MB thread-rese
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_orderkey)]
-| mem-estimate=8.01MB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=1.56M
+| mem-estimate=10.06MB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=16B cardinality=3.39M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1854,7 +1854,7 @@ Per-Instance Resources: mem-estimate=120.30MB mem-reservation=38.00MB thread-res
| output: count(*)
| group by: l_orderkey
| mem-estimate=40.06MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=1.56M
+| tuple-ids=1 row-size=16B cardinality=3.39M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -1916,7 +1916,7 @@ PLAN-ROOT SINK
|
02:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=3
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1924,7 +1924,7 @@ Per-Host Resources: mem-estimate=1.02MB mem-reservation=128.00KB thread-reservat
01:AGGREGATE
| output: sum_init_zero(tpch_parquet.lineitem.stats: num_rows)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=3
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -1956,7 +1956,7 @@ PLAN-ROOT SINK
|
02:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=3
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1964,7 +1964,7 @@ Per-Instance Resources: mem-estimate=80.02MB mem-reservation=128.00KB thread-res
01:AGGREGATE
| output: sum_init_zero(tpch_parquet.lineitem.stats: num_rows)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=8B cardinality=1
+| tuple-ids=1 row-size=8B cardinality=3
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -2172,7 +2172,7 @@ Per-Instance Resources: mem-estimate=80.02MB mem-reservation=40.00MB thread-rese
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
- HDFS partitions=1/1 files=3 size=194.00MB
+ HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
table: rows=6.00M size=193.99MB
columns: all
@@ -3907,7 +3907,7 @@ PLAN-ROOT SINK
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=219.75MB Threads=11
-Per-Host Resource Estimates: Memory=548MB
+Per-Host Resource Estimates: Memory=553MB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch.customer, tpch.orders, tpch.lineitem LEFT SEMI JOIN
(SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING sum(l_quantity)
@@ -3950,7 +3950,7 @@ Per-Host Resources: mem-estimate=44.28MB mem-reservation=34.00MB thread-reservat
| in pipelines: 02(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=145.65MB mem-reservation=110.75MB thread-reservation=1 runtime-filters-memory=4.00MB
+Per-Host Resources: mem-estimate=150.39MB mem-reservation=110.75MB thread-reservation=1 runtime-filters-memory=4.00MB
08:AGGREGATE [STREAMING]
| output: sum(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
@@ -3969,13 +3969,13 @@ Per-Host Resources: mem-estimate=145.65MB mem-reservation=110.75MB thread-reserv
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=38.74MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.08MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=3.39M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -3984,7 +3984,7 @@ Per-Host Resources: mem-estimate=145.65MB mem-reservation=110.75MB thread-reserv
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=51.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=3.39M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -4066,8 +4066,8 @@ Per-Host Resources: mem-estimate=91.23MB mem-reservation=11.00MB thread-reservat
tuple-ids=2 row-size=16B cardinality=6.00M
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=325.75MB Threads=16
-Per-Host Resource Estimates: Memory=842MB
+Max Per-Host Resource Reservation: Memory=359.75MB Threads=16
+Per-Host Resource Estimates: Memory=876MB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch.customer, tpch.orders, tpch.lineitem LEFT SEMI JOIN
(SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING sum(l_quantity)
@@ -4126,7 +4126,7 @@ Per-Instance Resources: mem-estimate=22.37MB mem-reservation=9.00MB thread-reser
| in pipelines: 02(GETNEXT), 14(OPEN)
|
|--F08:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=28.16MB mem-reservation=20.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | Per-Instance Resources: mem-estimate=45.16MB mem-reservation=37.88MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: l_orderkey
@@ -4137,13 +4137,13 @@ Per-Instance Resources: mem-estimate=22.37MB mem-reservation=9.00MB thread-reser
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
-| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=4.43M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4152,7 +4152,7 @@ Per-Instance Resources: mem-estimate=22.37MB mem-reservation=9.00MB thread-reser
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=4.43M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -4396,7 +4396,7 @@ PLAN-ROOT SINK
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=253.75MB Threads=11
-Per-Host Resource Estimates: Memory=2.71GB
+Per-Host Resource Estimates: Memory=2.72GB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.customer
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
@@ -4460,13 +4460,13 @@ Per-Host Resources: mem-estimate=2.23GB mem-reservation=144.75MB thread-reservat
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=38.74MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.08MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=3.39M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -4475,7 +4475,7 @@ Per-Host Resources: mem-estimate=2.23GB mem-reservation=144.75MB thread-reservat
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=51.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=3.39M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -4557,8 +4557,8 @@ Per-Host Resources: mem-estimate=91.23MB mem-reservation=11.00MB thread-reservat
tuple-ids=2 row-size=16B cardinality=6.00M
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=443.75MB Threads=16
-Per-Host Resource Estimates: Memory=3.23GB
+Max Per-Host Resource Reservation: Memory=477.75MB Threads=16
+Per-Host Resource Estimates: Memory=3.26GB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch_avro.customer, tpch.orders, tpch.lineitem LEFT SEMI
JOIN (SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING
@@ -4617,7 +4617,7 @@ Per-Instance Resources: mem-estimate=139.95MB mem-reservation=34.00MB thread-res
| in pipelines: 02(GETNEXT), 14(OPEN)
|
|--F08:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=28.16MB mem-reservation=20.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | Per-Instance Resources: mem-estimate=45.16MB mem-reservation=37.88MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: l_orderkey
@@ -4628,13 +4628,13 @@ Per-Instance Resources: mem-estimate=139.95MB mem-reservation=34.00MB thread-res
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
-| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=4.43M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4643,7 +4643,7 @@ Per-Instance Resources: mem-estimate=139.95MB mem-reservation=34.00MB thread-res
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=1.56M
+| | tuple-ids=4 row-size=24B cardinality=4.43M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -5089,9 +5089,9 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
@@ -5185,9 +5185,9 @@ Per-Host Resources: mem-estimate=346.57MB mem-reservation=85.94MB thread-reserva
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
@@ -5281,9 +5281,9 @@ Per-Instance Resources: mem-estimate=346.78MB mem-reservation=85.94MB thread-res
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
@@ -5377,9 +5377,9 @@ PLAN-ROOT SINK
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=1
@@ -5471,9 +5471,9 @@ Per-Host Resources: mem-estimate=137.48MB mem-reservation=104.00MB thread-reserv
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=1
@@ -5565,9 +5565,9 @@ Per-Instance Resources: mem-estimate=137.48MB mem-reservation=104.00MB thread-re
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
- HDFS partitions=1/1 files=4 size=288.99MB
+ HDFS partitions=1/1 files=4 size=289.07MB
stored statistics:
- table: rows=150.00K size=288.99MB
+ table: rows=150.00K size=289.07MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=50.12K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=0
@@ -6407,9 +6407,9 @@ PLAN-ROOT SINK
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
- HDFS partitions=1/1 files=3 size=194.00MB
+ HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
- table: rows=6.00M size=194.00MB
+ table: rows=6.00M size=193.99MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
@@ -6444,7 +6444,7 @@ Per-Host Resources: mem-estimate=10.92MB mem-reservation=1.94MB thread-reservati
|
02:EXCHANGE [HASH(tpch_parquet.lineitem.l_orderkey,tpch_parquet.lineitem.l_partkey,tpch_parquet.lineitem.l_suppkey,tpch_parquet.lineitem.l_linenumber,tpch_parquet.lineitem.l_quantity,tpch_parquet.lineitem.l_extendedprice,tpch_parquet.lineitem.l_discount,tpch_parquet.lineitem.l_tax,tpch_parquet.lineitem.l_returnflag,tpch_parquet.lineitem.l_linestatus,tpch_parquet.lineitem.l_shipdate,tpch_parquet.lineitem.l_commitdate,tpch_parquet.lineitem.l_receiptdate,tpch_parquet.lineitem.l_shipinstruct [...]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=231B cardinality=5
+| tuple-ids=1 row-size=231B cardinality=15
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -6453,13 +6453,13 @@ Per-Host Resources: mem-estimate=430.12MB mem-reservation=74.00MB thread-reserva
| group by: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_ship [...]
| limit: 5
| mem-estimate=347.37MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=1 row-size=231B cardinality=5
+| tuple-ids=1 row-size=231B cardinality=15
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
- HDFS partitions=1/1 files=3 size=194.00MB
+ HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
- table: rows=6.00M size=194.00MB
+ table: rows=6.00M size=193.99MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/shuffle-by-distinct-exprs.test b/testdata/workloads/functional-planner/queries/PlannerTest/shuffle-by-distinct-exprs.test
index 78c5a4870..2f4e0c5ea 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/shuffle-by-distinct-exprs.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/shuffle-by-distinct-exprs.test
@@ -23,7 +23,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: int_col
-| row-size=4B cardinality=10
+| row-size=4B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -55,7 +55,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: int_col
-| row-size=4B cardinality=10
+| row-size=4B cardinality=30
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -83,7 +83,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: `year`, int_col
-| row-size=8B cardinality=20
+| row-size=8B cardinality=60
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -108,7 +108,7 @@ PLAN-ROOT SINK
02:AGGREGATE [STREAMING]
| output: count(int_col)
| group by: `year`
-| row-size=12B cardinality=2
+| row-size=12B cardinality=6
|
04:AGGREGATE
| group by: `year`, int_col
@@ -118,7 +118,7 @@ PLAN-ROOT SINK
|
01:AGGREGATE [STREAMING]
| group by: `year`, int_col
-| row-size=8B cardinality=20
+| row-size=8B cardinality=60
|
00:SCAN HDFS [functional.alltypes]
HDFS partitions=24/24 files=24 size=478.45KB
@@ -263,7 +263,7 @@ PLAN-ROOT SINK
04:AGGREGATE [STREAMING]
| output: count(a.int_col)
| group by: a.`year`
-| row-size=12B cardinality=2
+| row-size=12B cardinality=6
|
08:AGGREGATE
| group by: a.`year`, a.int_col
@@ -316,7 +316,7 @@ PLAN-ROOT SINK
04:AGGREGATE [STREAMING]
| output: count(a.int_col)
| group by: a.`year`
-| row-size=12B cardinality=2
+| row-size=12B cardinality=6
|
03:AGGREGATE
| group by: a.`year`, a.int_col
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
index 5f87e63f4..2f06573d3 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
@@ -48,11 +48,11 @@ group by rollup (
ss_ext_sales_price)
limit 100
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.59GB Threads=10
-Per-Host Resource Estimates: Memory=2.08GB
+Max Per-Host Resource Reservation: Memory=1.81GB Threads=11
+Per-Host Resource Estimates: Memory=2.38GB
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[625] cpu-comparison-result=18 [max(1 (self) vs 18 (sum children))]
+| max-parallelism=1 segment-costs=[625] cpu-comparison-result=21 [max(1 (self) vs 21 (sum children))]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN ss_net_paid_inc_tax WHEN 2 THEN ss_net_paid_inc_tax WHEN 3 THEN ss_net_paid_inc_tax WHEN 4 THEN ss_net_paid_inc_tax WHEN 5 THEN ss_net_paid_inc_tax WHEN 6 THEN NULL END, CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN ss_ext_list_price WHEN 2 THEN ss_ext_list_price WHEN 3 THEN ss_ext_list_price WHEN 4 THEN ss_ext_list_price WHEN 5 THEN NULL WHEN 6 THEN NULL END, CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN ss_net_profit WHEN 2 THEN ss_net_profi [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=600
@@ -64,8 +64,8 @@ PLAN-ROOT SINK
| in pipelines: 02(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 2 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 3 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 4 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 5 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 6 THEN murmur_hash(NULL) END,CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN murmur_hash(ss_ext_list_price) WHEN 2 THEN murmur_hash(ss_ext_list_price) WHEN 3 THEN murmur_hash(ss_ext_list_price) WHEN 4 THEN murmur_hash( [...]
-Per-Instance Resources: mem-estimate=303.35MB mem-reservation=188.94MB thread-reservation=1
-max-parallelism=9 segment-costs=[87537760, 71651035, 257] cpu-comparison-result=18 [max(9 (self) vs 18 (sum children))]
+Per-Instance Resources: mem-estimate=338.71MB mem-reservation=205.94MB thread-reservation=1
+max-parallelism=9 segment-costs=[89809878, 71651035, 257] cpu-comparison-result=21 [max(9 (self) vs 21 (sum children))]
02:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(1,2,3,4,5,6) IN (CAST(1 AS INT), CAST(2 AS INT), CAST(3 AS INT), CAST(4 AS INT), CAST(5 AS INT), CAST(6 AS INT)), CASE valid_tid(1,2,3,4,5,6) WHEN CAST(1 AS INT) THEN sum(ss_store_sk) WHEN CAST(2 AS INT) THEN sum(ss_store_sk) WHEN CAST(3 AS INT) THEN sum(ss_store_sk) WHEN CAST(4 AS INT) THEN sum(ss_store_sk) WHEN CAST(5 AS INT) THEN sum(ss_store_sk) WHEN CAST(6 AS INT) THEN sum(ss_store_sk) END)
| group by: CASE valid_tid(1,2,3,4,5,6) WHEN CAST(1 AS INT) THEN ss_net_paid_inc_tax WHEN CAST(2 AS INT) THEN ss_net_paid_inc_tax WHEN CAST(3 AS INT) THEN ss_net_paid_inc_tax WHEN CAST(4 AS INT) THEN ss_net_paid_inc_tax WHEN CAST(5 AS INT) THEN ss_net_paid_inc_tax WHEN CAST(6 AS INT) THEN NULL END, CASE valid_tid(1,2,3,4,5,6) WHEN CAST(1 AS INT) THEN ss_ext_list_price WHEN CAST(2 AS INT) THEN ss_ext_list_price WHEN CAST(3 AS INT) THEN ss_ext_list_price WHEN CAST(4 AS INT) THEN ss_ext_li [...]
@@ -93,18 +93,18 @@ max-parallelism=9 segment-costs=[87537760, 71651035, 257] cpu-comparison-result=
| Class 5
| output: sum:merge(ss_store_sk)
| group by: NULL, NULL, NULL, NULL, NULL
-| mem-estimate=246.76MB mem-reservation=154.94MB thread-reservation=0
+| mem-estimate=282.11MB mem-reservation=171.94MB thread-reservation=0
| tuple-ids=1N,2N,3N,4N,5N,6N row-size=168B cardinality=12.14M cost=74574636
| in pipelines: 04(GETNEXT), 00(OPEN)
|
03:EXCHANGE [HASH(CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 2 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 3 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 4 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 5 THEN murmur_hash(ss_net_paid_inc_tax) WHEN 6 THEN murmur_hash(NULL) END,CASE valid_tid(1,2,3,4,5,6) WHEN 1 THEN murmur_hash(ss_ext_list_price) WHEN 2 THEN murmur_hash(ss_ext_list_price) WHEN 3 THEN murmur_hash(ss_ext_list_price) WHEN 4 THEN murmur_hash(ss_ext [...]
-| mem-estimate=13.38MB mem-reservation=0B thread-reservation=0
-| tuple-ids=1N,2N,3N,4N,5N,6N row-size=168B cardinality=12.14M cost=12963124
+| mem-estimate=13.94MB mem-reservation=0B thread-reservation=0
+| tuple-ids=1N,2N,3N,4N,5N,6N row-size=168B cardinality=14.27M cost=15235242
| in pipelines: 00(GETNEXT)
|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=18 (adjusted from 48)
+F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=21 (adjusted from 48)
Per-Instance Resources: mem-estimate=202.75MB mem-reservation=176.00MB thread-reservation=1
-max-parallelism=18 segment-costs=[89349287, 168856871]
+max-parallelism=21 segment-costs=[89349287, 198453333]
01:AGGREGATE [STREAMING]
| Class 0
| output: sum(CAST(ss_store_sk AS BIGINT))
@@ -125,7 +125,7 @@ max-parallelism=18 segment-costs=[89349287, 168856871]
| output: sum(CAST(ss_store_sk AS BIGINT))
| group by: NULL, NULL, NULL, NULL, NULL
| mem-estimate=180.00MB mem-reservation=172.00MB thread-reservation=0
-| tuple-ids=1N,2N,3N,4N,5N,6N row-size=168B cardinality=12.14M cost=88353820
+| tuple-ids=1N,2N,3N,4N,5N,6N row-size=168B cardinality=14.27M cost=88353820
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q02.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q02.test
index 6beab3f94..3b9bb814b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q02.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q02.test
@@ -325,8 +325,8 @@ Per-Host Resources: mem-estimate=21.88MB mem-reservation=13.81MB thread-reservat
| | in pipelines: 24(GETNEXT), 09(OPEN), 10(OPEN)
| |
| 23:EXCHANGE [HASH(d_week_seq)]
-| | mem-estimate=761.85KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=16 row-size=116B cardinality=10.64K
+| | mem-estimate=1.53MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=16 row-size=116B cardinality=31.93K
| | in pipelines: 09(GETNEXT), 10(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -335,7 +335,7 @@ Per-Host Resources: mem-estimate=21.88MB mem-reservation=13.81MB thread-reservat
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN s [...]
| | group by: d_week_seq
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=16 row-size=116B cardinality=10.64K
+| | tuple-ids=16 row-size=116B cardinality=31.93K
| | in pipelines: 09(GETNEXT), 10(GETNEXT)
| |
| 12:HASH JOIN [INNER JOIN, BROADCAST]
@@ -429,8 +429,8 @@ Per-Host Resources: mem-estimate=21.88MB mem-reservation=13.81MB thread-reservat
| in pipelines: 20(GETNEXT), 01(OPEN), 02(OPEN)
|
19:EXCHANGE [HASH(d_week_seq)]
-| mem-estimate=761.85KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=116B cardinality=10.64K
+| mem-estimate=1.53MB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=116B cardinality=31.93K
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -439,7 +439,7 @@ Per-Host Resources: mem-estimate=113.67MB mem-reservation=12.75MB thread-reserva
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN sale [...]
| group by: d_week_seq
| mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=6 row-size=116B cardinality=10.64K
+| tuple-ids=6 row-size=116B cardinality=31.93K
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -585,8 +585,8 @@ Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reser
| | in pipelines: 24(GETNEXT), 09(OPEN), 10(OPEN)
| |
| 23:EXCHANGE [HASH(d_week_seq)]
-| | mem-estimate=761.85KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=16 row-size=116B cardinality=10.64K
+| | mem-estimate=1.53MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=16 row-size=116B cardinality=31.93K
| | in pipelines: 09(GETNEXT), 10(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -596,7 +596,7 @@ Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reser
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN s [...]
| | group by: d_week_seq
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=16 row-size=116B cardinality=10.64K
+| | tuple-ids=16 row-size=116B cardinality=31.93K
| | in pipelines: 09(GETNEXT), 10(GETNEXT)
| |
| 12:HASH JOIN [INNER JOIN, BROADCAST]
@@ -708,8 +708,8 @@ Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reser
| in pipelines: 20(GETNEXT), 01(OPEN), 02(OPEN)
|
19:EXCHANGE [HASH(d_week_seq)]
-| mem-estimate=761.85KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=116B cardinality=10.64K
+| mem-estimate=1.53MB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=116B cardinality=31.93K
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -719,7 +719,7 @@ Per-Instance Resources: mem-estimate=59.41MB mem-reservation=7.00MB thread-reser
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN sale [...]
| group by: d_week_seq
| mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=6 row-size=116B cardinality=10.64K
+| tuple-ids=6 row-size=116B cardinality=31.93K
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q04.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q04.test
index 16d3aa020..e3aa9b565 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q04.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q04.test
@@ -558,8 +558,8 @@ PLAN-ROOT SINK
tuple-ids=78 row-size=153B cardinality=100.00K
in pipelines: 36(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=493.06MB Threads=50
-Per-Host Resource Estimates: Memory=2.55GB
+Max Per-Host Resource Reservation: Memory=510.06MB Threads=50
+Per-Host Resource Estimates: Memory=2.57GB
F37:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -596,7 +596,7 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | in pipelines: 82(GETNEXT)
| |
| F36:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
-| Per-Host Resources: mem-estimate=25.96MB mem-reservation=17.00MB thread-reservation=1
+| Per-Host Resources: mem-estimate=26.33MB mem-reservation=17.00MB thread-reservation=1
| 35:UNION
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=82 row-size=44B cardinality=100.00K
@@ -610,8 +610,8 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | in pipelines: 82(GETNEXT), 37(OPEN)
| |
| 81:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=8.40MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=81 row-size=169B cardinality=100.00K
+| | mem-estimate=8.77MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=81 row-size=169B cardinality=104.58K
| | in pipelines: 37(GETNEXT)
| |
| F34:PLAN FRAGMENT [HASH(ws_bill_customer_sk)] hosts=2 instances=2
@@ -620,7 +620,7 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | output: sum((((ws_ext_list_price - ws_ext_wholesale_cost - ws_ext_discount_amt) + ws_ext_sales_price) / CAST(2 AS DECIMAL(3,0))))
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=81 row-size=169B cardinality=100.00K
+| | tuple-ids=81 row-size=169B cardinality=104.58K
| | in pipelines: 37(GETNEXT)
| |
| 40:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -831,7 +831,7 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | | in pipelines: 62(GETNEXT)
| | |
| | F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=20.52MB mem-reservation=11.44MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | Per-Host Resources: mem-estimate=32.14MB mem-reservation=19.94MB thread-reservation=1 runtime-filters-memory=1.00MB
| | 42:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash predicates: customer_id = customer_id
| | | fk/pk conjuncts: assumed fk/pk
@@ -954,13 +954,13 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | 62:AGGREGATE [FINALIZE]
| | | output: sum:merge(((ss_ext_list_price - ss_ext_wholesale_cost - ss_ext_discount_amt) + ss_ext_sales_price) / 2)
| | | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | | tuple-ids=17 row-size=169B cardinality=100.00K
| | | in pipelines: 62(GETNEXT), 09(OPEN)
| | |
| | 61:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | | mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=169B cardinality=100.00K
+| | | mem-estimate=10.51MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=169B cardinality=257.89K
| | | in pipelines: 09(GETNEXT)
| | |
| | F15:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
@@ -969,7 +969,7 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| | | output: sum(((ss_ext_list_price - ss_ext_wholesale_cost - ss_ext_discount_amt) + ss_ext_sales_price) / CAST(2 AS DECIMAL(3,0)))
| | | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=17 row-size=169B cardinality=100.00K
+| | | tuple-ids=17 row-size=169B cardinality=257.89K
| | | in pipelines: 09(GETNEXT)
| | |
| | 12:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1158,7 +1158,7 @@ Per-Host Resources: mem-estimate=19.20MB mem-reservation=14.50MB thread-reservat
| in pipelines: 52(GETNEXT)
|
F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=16.45MB mem-reservation=8.50MB thread-reservation=1
+Per-Host Resources: mem-estimate=28.07MB mem-reservation=17.00MB thread-reservation=1
21:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=54 row-size=44B cardinality=100.00K
@@ -1167,13 +1167,13 @@ Per-Host Resources: mem-estimate=16.45MB mem-reservation=8.50MB thread-reservati
52:AGGREGATE [FINALIZE]
| output: sum:merge((((cs_ext_list_price - cs_ext_wholesale_cost - cs_ext_discount_amt) + cs_ext_sales_price) / 2))
| group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=49 row-size=169B cardinality=100.00K
| in pipelines: 52(GETNEXT), 23(OPEN)
|
51:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
-| tuple-ids=49 row-size=169B cardinality=100.00K
+| mem-estimate=10.51MB mem-reservation=0B thread-reservation=0
+| tuple-ids=49 row-size=169B cardinality=187.64K
| in pipelines: 23(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(cs_bill_customer_sk)] hosts=3 instances=3
@@ -1182,7 +1182,7 @@ Per-Host Resources: mem-estimate=38.77MB mem-reservation=25.50MB thread-reservat
| output: sum((((cs_ext_list_price - cs_ext_wholesale_cost - cs_ext_discount_amt) + cs_ext_sales_price) / CAST(2 AS DECIMAL(3,0))))
| group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=49 row-size=169B cardinality=100.00K
+| tuple-ids=49 row-size=169B cardinality=187.64K
| in pipelines: 23(GETNEXT)
|
26:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1257,8 +1257,8 @@ Per-Host Resources: mem-estimate=291.41MB mem-reservation=18.94MB thread-reserva
tuple-ids=47 row-size=24B cardinality=294.63K(filtered from 1.44M)
in pipelines: 23(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=557.62MB Threads=57
-Per-Host Resource Estimates: Memory=1.07GB
+Max Per-Host Resource Reservation: Memory=590.62MB Threads=57
+Per-Host Resource Estimates: Memory=1.11GB
F37:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -1303,7 +1303,7 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | in pipelines: 82(GETNEXT)
| |
| F36:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
-| Per-Instance Resources: mem-estimate=25.96MB mem-reservation=17.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=26.33MB mem-reservation=17.00MB thread-reservation=1
| 35:UNION
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=82 row-size=44B cardinality=100.00K
@@ -1317,8 +1317,8 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | in pipelines: 82(GETNEXT), 37(OPEN)
| |
| 81:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=8.40MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=81 row-size=169B cardinality=100.00K
+| | mem-estimate=8.77MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=81 row-size=169B cardinality=104.58K
| | in pipelines: 37(GETNEXT)
| |
| F34:PLAN FRAGMENT [HASH(ws_bill_customer_sk)] hosts=2 instances=2
@@ -1327,7 +1327,7 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | output: sum((((ws_ext_list_price - ws_ext_wholesale_cost - ws_ext_discount_amt) + ws_ext_sales_price) / CAST(2 AS DECIMAL(3,0))))
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=81 row-size=169B cardinality=100.00K
+| | tuple-ids=81 row-size=169B cardinality=104.58K
| | in pipelines: 37(GETNEXT)
| |
| 40:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1597,7 +1597,7 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | | in pipelines: 62(GETNEXT)
| | |
| | F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=18.09MB mem-reservation=4.75MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=29.71MB mem-reservation=17.00MB thread-reservation=1
| | 42:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=08
| | | hash predicates: customer_id = customer_id
@@ -1746,13 +1746,13 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | 62:AGGREGATE [FINALIZE]
| | | output: sum:merge(((ss_ext_list_price - ss_ext_wholesale_cost - ss_ext_discount_amt) + ss_ext_sales_price) / 2)
| | | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | | tuple-ids=17 row-size=169B cardinality=100.00K
| | | in pipelines: 62(GETNEXT), 09(OPEN)
| | |
| | 61:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | | mem-estimate=6.39MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=169B cardinality=100.00K
+| | | mem-estimate=11.01MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=169B cardinality=375.20K
| | | in pipelines: 09(GETNEXT)
| | |
| | F15:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
@@ -1761,7 +1761,7 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| | | output: sum(((ss_ext_list_price - ss_ext_wholesale_cost - ss_ext_discount_amt) + ss_ext_sales_price) / CAST(2 AS DECIMAL(3,0)))
| | | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | | tuple-ids=17 row-size=169B cardinality=100.00K
+| | | tuple-ids=17 row-size=169B cardinality=375.20K
| | | in pipelines: 09(GETNEXT)
| | |
| | 12:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1986,7 +1986,7 @@ Per-Instance Resources: mem-estimate=1.55MB mem-reservation=0B thread-reservatio
| in pipelines: 52(GETNEXT)
|
F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=16.45MB mem-reservation=8.50MB thread-reservation=1
+Per-Instance Resources: mem-estimate=28.07MB mem-reservation=17.00MB thread-reservation=1
21:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=54 row-size=44B cardinality=100.00K
@@ -1995,13 +1995,13 @@ Per-Instance Resources: mem-estimate=16.45MB mem-reservation=8.50MB thread-reser
52:AGGREGATE [FINALIZE]
| output: sum:merge((((cs_ext_list_price - cs_ext_wholesale_cost - cs_ext_discount_amt) + cs_ext_sales_price) / 2))
| group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=49 row-size=169B cardinality=100.00K
| in pipelines: 52(GETNEXT), 23(OPEN)
|
51:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
-| tuple-ids=49 row-size=169B cardinality=100.00K
+| mem-estimate=10.51MB mem-reservation=0B thread-reservation=0
+| tuple-ids=49 row-size=169B cardinality=187.64K
| in pipelines: 23(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(cs_bill_customer_sk)] hosts=3 instances=3
@@ -2010,7 +2010,7 @@ Per-Instance Resources: mem-estimate=22.14MB mem-reservation=17.00MB thread-rese
| output: sum((((cs_ext_list_price - cs_ext_wholesale_cost - cs_ext_discount_amt) + cs_ext_sales_price) / CAST(2 AS DECIMAL(3,0))))
| group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=49 row-size=169B cardinality=100.00K
+| tuple-ids=49 row-size=169B cardinality=187.64K
| in pipelines: 23(GETNEXT)
|
26:HASH JOIN [INNER JOIN, PARTITIONED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q05.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q05.test
index 52a4a6585..79d83c721 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q05.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q05.test
@@ -404,7 +404,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=16B cardinality=2.88M
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=79.59MB Threads=25
+Max Per-Host Resource Reservation: Memory=80.53MB Threads=25
Per-Host Resource Estimates: Memory=930MB
F22:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -450,11 +450,11 @@ Per-Host Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservati
|
44:EXCHANGE [HASH(CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(channel) WHEN 29 THEN murmur_hash(NULL) END,CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(id) WHEN 28 THEN murmur_hash(NULL) WHEN 29 THEN murmur_hash(NULL) END)]
| mem-estimate=1.46MB mem-reservation=0B thread-reservation=0
-| tuple-ids=27N,28N,29N row-size=216B cardinality=11.56K
+| tuple-ids=27N,28N,29N row-size=216B cardinality=11.57K
| in pipelines: 33(GETNEXT), 37(GETNEXT), 43(GETNEXT)
|
F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=43.97MB mem-reservation=8.88MB thread-reservation=1
27:AGGREGATE [STREAMING]
| Class 0
| output: sum(sales), sum(returns), sum(profit)
@@ -466,7 +466,7 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
| output: sum(sales), sum(returns), sum(profit)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-| tuple-ids=27N,28N,29N row-size=216B cardinality=11.56K
+| tuple-ids=27N,28N,29N row-size=216B cardinality=11.57K
| in pipelines: 33(GETNEXT), 37(GETNEXT), 43(GETNEXT)
|
00:UNION
@@ -483,7 +483,7 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
| |
| 42:EXCHANGE [HASH(web_site_id)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=23 row-size=92B cardinality=15
+| | tuple-ids=23 row-size=92B cardinality=30
| | in pipelines: 18(GETNEXT), 20(GETNEXT)
| |
| F16:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -492,7 +492,7 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| | group by: web_site_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=23 row-size=92B cardinality=15
+| | tuple-ids=23 row-size=92B cardinality=30
| | in pipelines: 18(GETNEXT), 20(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, BROADCAST]
@@ -611,13 +611,13 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
|--37:AGGREGATE [FINALIZE]
| | output: sum:merge(sales_price), sum:merge(profit), sum:merge(return_amt), sum:merge(net_loss)
| | group by: cp_catalog_page_id
-| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| | tuple-ids=14 row-size=92B cardinality=11.54K
| | in pipelines: 37(GETNEXT), 10(OPEN), 11(OPEN)
| |
| 36:EXCHANGE [HASH(cp_catalog_page_id)]
-| | mem-estimate=633.57KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=92B cardinality=11.54K
+| | mem-estimate=1.29MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=92B cardinality=34.62K
| | in pipelines: 10(GETNEXT), 11(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -626,7 +626,7 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| | group by: cp_catalog_page_id
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=14 row-size=92B cardinality=11.54K
+| | tuple-ids=14 row-size=92B cardinality=34.62K
| | in pipelines: 10(GETNEXT), 11(GETNEXT)
| |
| 15:HASH JOIN [INNER JOIN, BROADCAST]
@@ -718,7 +718,7 @@ Per-Host Resources: mem-estimate=43.29MB mem-reservation=7.94MB thread-reservati
|
32:EXCHANGE [HASH(s_store_id)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=92B cardinality=6
+| tuple-ids=6 row-size=92B cardinality=18
| in pipelines: 02(GETNEXT), 03(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -727,7 +727,7 @@ Per-Host Resources: mem-estimate=113.00MB mem-reservation=11.88MB thread-reserva
| output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| group by: s_store_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=92B cardinality=6
+| tuple-ids=6 row-size=92B cardinality=18
| in pipelines: 02(GETNEXT), 03(GETNEXT)
|
07:HASH JOIN [INNER JOIN, BROADCAST]
@@ -812,7 +812,7 @@ Per-Host Resources: mem-estimate=113.00MB mem-reservation=11.88MB thread-reserva
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=121.78MB Threads=24
-Per-Host Resource Estimates: Memory=545MB
+Per-Host Resource Estimates: Memory=547MB
F22:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -857,11 +857,11 @@ Per-Instance Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reser
|
44:EXCHANGE [HASH(CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(channel) WHEN 29 THEN murmur_hash(NULL) END,CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(id) WHEN 28 THEN murmur_hash(NULL) WHEN 29 THEN murmur_hash(NULL) END)]
| mem-estimate=2.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=27N,28N,29N row-size=216B cardinality=11.56K
+| tuple-ids=27N,28N,29N row-size=216B cardinality=11.58K
| in pipelines: 33(GETNEXT), 37(GETNEXT), 43(GETNEXT)
|
F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=46.64MB mem-reservation=7.94MB thread-reservation=1
27:AGGREGATE [STREAMING]
| Class 0
| output: sum(sales), sum(returns), sum(profit)
@@ -873,7 +873,7 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| output: sum(sales), sum(returns), sum(profit)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-| tuple-ids=27N,28N,29N row-size=216B cardinality=11.56K
+| tuple-ids=27N,28N,29N row-size=216B cardinality=11.58K
| in pipelines: 33(GETNEXT), 37(GETNEXT), 43(GETNEXT)
|
00:UNION
@@ -890,7 +890,7 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| |
| 42:EXCHANGE [HASH(web_site_id)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=23 row-size=92B cardinality=15
+| | tuple-ids=23 row-size=92B cardinality=30
| | in pipelines: 18(GETNEXT), 20(GETNEXT)
| |
| F16:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -900,7 +900,7 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| | group by: web_site_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=23 row-size=92B cardinality=15
+| | tuple-ids=23 row-size=92B cardinality=30
| | in pipelines: 18(GETNEXT), 20(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1050,8 +1050,8 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| | in pipelines: 37(GETNEXT), 10(OPEN), 11(OPEN)
| |
| 36:EXCHANGE [HASH(cp_catalog_page_id)]
-| | mem-estimate=633.57KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=92B cardinality=11.54K
+| | mem-estimate=1.29MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=92B cardinality=34.62K
| | in pipelines: 10(GETNEXT), 11(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1061,7 +1061,7 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| | group by: cp_catalog_page_id
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=14 row-size=92B cardinality=11.54K
+| | tuple-ids=14 row-size=92B cardinality=34.62K
| | in pipelines: 10(GETNEXT), 11(GETNEXT)
| |
| 15:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1168,8 +1168,8 @@ Per-Instance Resources: mem-estimate=45.96MB mem-reservation=7.94MB thread-reser
| in pipelines: 33(GETNEXT), 02(OPEN), 03(OPEN)
|
32:EXCHANGE [HASH(s_store_id)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=92B cardinality=6
+| mem-estimate=21.33KB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=92B cardinality=36
| in pipelines: 02(GETNEXT), 03(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1179,7 +1179,7 @@ Per-Instance Resources: mem-estimate=36.25MB mem-reservation=6.00MB thread-reser
| output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss)
| group by: s_store_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=92B cardinality=6
+| tuple-ids=6 row-size=92B cardinality=36
| in pipelines: 02(GETNEXT), 03(GETNEXT)
|
07:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q06.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q06.test
index 33b24c0eb..6d946d880 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q06.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q06.test
@@ -219,7 +219,7 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
|
28:EXCHANGE [HASH(a.ca_state)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=22B cardinality=51
+| tuple-ids=12 row-size=22B cardinality=153
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -228,7 +228,7 @@ Per-Host Resources: mem-estimate=70.86MB mem-reservation=29.06MB thread-reservat
| output: count(*)
| group by: a.ca_state
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=12 row-size=22B cardinality=51
+| tuple-ids=12 row-size=22B cardinality=153
| in pipelines: 02(GETNEXT)
|
14:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -464,7 +464,7 @@ PLAN-ROOT SINK
| in pipelines: 16(GETNEXT)
|
F10:PLAN FRAGMENT [HASH(a.ca_state)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.05MB mem-reservation=1.94MB thread-reservation=1
16:TOP-N [LIMIT=100]
| order by: count(*) ASC
| mem-estimate=110B mem-reservation=0B thread-reservation=0
@@ -480,8 +480,8 @@ Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reser
| in pipelines: 29(GETNEXT), 02(OPEN)
|
28:EXCHANGE [HASH(a.ca_state)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=22B cardinality=51
+| mem-estimate=48.81KB mem-reservation=0B thread-reservation=0
+| tuple-ids=12 row-size=22B cardinality=306
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -491,7 +491,7 @@ Per-Instance Resources: mem-estimate=26.61MB mem-reservation=3.00MB thread-reser
| output: count(*)
| group by: a.ca_state
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=12 row-size=22B cardinality=51
+| tuple-ids=12 row-size=22B cardinality=306
| in pipelines: 02(GETNEXT)
|
14:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q07.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q07.test
index 05b448df1..14d413369 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q07.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q07.test
@@ -156,7 +156,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(i_item_id)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.69MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=5.86KB mem-reservation=0B thread-reservation=0
@@ -171,8 +171,8 @@ Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservati
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=364.93KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| mem-estimate=710.79KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=60B cardinality=26.56K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -181,7 +181,7 @@ Per-Host Resources: mem-estimate=145.85MB mem-reservation=24.31MB thread-reserva
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| tuple-ids=5 row-size=60B cardinality=26.56K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -304,7 +304,7 @@ Per-Host Resources: mem-estimate=145.85MB mem-reservation=24.31MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=65.53MB Threads=13
-Per-Host Resource Estimates: Memory=187MB
+Per-Host Resource Estimates: Memory=189MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.04MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -319,7 +319,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(i_item_id)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.54MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=11.38MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=5.86KB mem-reservation=0B thread-reservation=0
@@ -334,8 +334,8 @@ Per-Instance Resources: mem-estimate=10.54MB mem-reservation=1.94MB thread-reser
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=556.93KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| mem-estimate=1.38MB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=60B cardinality=52.74K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -345,7 +345,7 @@ Per-Instance Resources: mem-estimate=27.50MB mem-reservation=6.00MB thread-reser
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| tuple-ids=5 row-size=60B cardinality=52.74K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q08.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q08.test
index 1a7f665a9..ebc13dddf 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q08.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q08.test
@@ -255,7 +255,7 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
|
23:EXCHANGE [HASH(s_store_name)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=13 row-size=32B cardinality=8
+| tuple-ids=13 row-size=32B cardinality=24
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -264,7 +264,7 @@ Per-Host Resources: mem-estimate=51.24MB mem-reservation=11.81MB thread-reservat
| output: sum(ss_net_profit)
| group by: s_store_name
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=13 row-size=32B cardinality=8
+| tuple-ids=13 row-size=32B cardinality=24
| in pipelines: 00(GETNEXT)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
@@ -478,7 +478,7 @@ Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reser
|
23:EXCHANGE [HASH(s_store_name)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=13 row-size=32B cardinality=8
+| tuple-ids=13 row-size=32B cardinality=48
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -488,7 +488,7 @@ Per-Instance Resources: mem-estimate=26.85MB mem-reservation=3.00MB thread-reser
| output: sum(ss_net_profit)
| group by: s_store_name
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=13 row-size=32B cardinality=8
+| tuple-ids=13 row-size=32B cardinality=48
| in pipelines: 00(GETNEXT)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q09.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q09.test
index 28334c9b4..26a37e56b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q09.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q09.test
@@ -471,7 +471,7 @@ PLAN-ROOT SINK
| |
| 88:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=53 row-size=8B cardinality=1
+| | tuple-ids=53 row-size=8B cardinality=3
| | in pipelines: 30(GETNEXT)
| |
| F29:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -479,7 +479,7 @@ PLAN-ROOT SINK
| 30:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=53 row-size=8B cardinality=1
+| | tuple-ids=53 row-size=8B cardinality=3
| | in pipelines: 30(GETNEXT), 29(OPEN)
| |
| 29:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -516,7 +516,7 @@ PLAN-ROOT SINK
| |
| 85:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=49 row-size=8B cardinality=1
+| | tuple-ids=49 row-size=8B cardinality=3
| | in pipelines: 28(GETNEXT)
| |
| F27:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -524,7 +524,7 @@ PLAN-ROOT SINK
| 28:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=49 row-size=8B cardinality=1
+| | tuple-ids=49 row-size=8B cardinality=3
| | in pipelines: 28(GETNEXT), 27(OPEN)
| |
| 27:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -561,7 +561,7 @@ PLAN-ROOT SINK
| |
| 82:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=46 row-size=8B cardinality=1
+| | tuple-ids=46 row-size=8B cardinality=3
| | in pipelines: 26(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -569,7 +569,7 @@ PLAN-ROOT SINK
| 26:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46 row-size=8B cardinality=1
+| | tuple-ids=46 row-size=8B cardinality=3
| | in pipelines: 26(GETNEXT), 25(OPEN)
| |
| 25:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -606,7 +606,7 @@ PLAN-ROOT SINK
| |
| 79:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=42 row-size=8B cardinality=1
+| | tuple-ids=42 row-size=8B cardinality=3
| | in pipelines: 24(GETNEXT)
| |
| F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -614,7 +614,7 @@ PLAN-ROOT SINK
| 24:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=42 row-size=8B cardinality=1
+| | tuple-ids=42 row-size=8B cardinality=3
| | in pipelines: 24(GETNEXT), 23(OPEN)
| |
| 23:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -651,7 +651,7 @@ PLAN-ROOT SINK
| |
| 76:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=38 row-size=8B cardinality=1
+| | tuple-ids=38 row-size=8B cardinality=3
| | in pipelines: 22(GETNEXT)
| |
| F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -659,7 +659,7 @@ PLAN-ROOT SINK
| 22:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=38 row-size=8B cardinality=1
+| | tuple-ids=38 row-size=8B cardinality=3
| | in pipelines: 22(GETNEXT), 21(OPEN)
| |
| 21:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -696,7 +696,7 @@ PLAN-ROOT SINK
| |
| 73:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=35 row-size=8B cardinality=1
+| | tuple-ids=35 row-size=8B cardinality=3
| | in pipelines: 20(GETNEXT)
| |
| F19:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -704,7 +704,7 @@ PLAN-ROOT SINK
| 20:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=35 row-size=8B cardinality=1
+| | tuple-ids=35 row-size=8B cardinality=3
| | in pipelines: 20(GETNEXT), 19(OPEN)
| |
| 19:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -741,7 +741,7 @@ PLAN-ROOT SINK
| |
| 70:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=8B cardinality=1
+| | tuple-ids=31 row-size=8B cardinality=3
| | in pipelines: 18(GETNEXT)
| |
| F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -749,7 +749,7 @@ PLAN-ROOT SINK
| 18:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=31 row-size=8B cardinality=1
+| | tuple-ids=31 row-size=8B cardinality=3
| | in pipelines: 18(GETNEXT), 17(OPEN)
| |
| 17:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -786,7 +786,7 @@ PLAN-ROOT SINK
| |
| 67:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=27 row-size=8B cardinality=1
+| | tuple-ids=27 row-size=8B cardinality=3
| | in pipelines: 16(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -794,7 +794,7 @@ PLAN-ROOT SINK
| 16:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=27 row-size=8B cardinality=1
+| | tuple-ids=27 row-size=8B cardinality=3
| | in pipelines: 16(GETNEXT), 15(OPEN)
| |
| 15:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -831,7 +831,7 @@ PLAN-ROOT SINK
| |
| 64:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=24 row-size=8B cardinality=1
+| | tuple-ids=24 row-size=8B cardinality=3
| | in pipelines: 14(GETNEXT)
| |
| F13:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -839,7 +839,7 @@ PLAN-ROOT SINK
| 14:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=24 row-size=8B cardinality=1
+| | tuple-ids=24 row-size=8B cardinality=3
| | in pipelines: 14(GETNEXT), 13(OPEN)
| |
| 13:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -876,7 +876,7 @@ PLAN-ROOT SINK
| |
| 61:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=20 row-size=8B cardinality=1
+| | tuple-ids=20 row-size=8B cardinality=3
| | in pipelines: 12(GETNEXT)
| |
| F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -884,7 +884,7 @@ PLAN-ROOT SINK
| 12:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=20 row-size=8B cardinality=1
+| | tuple-ids=20 row-size=8B cardinality=3
| | in pipelines: 12(GETNEXT), 11(OPEN)
| |
| 11:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -921,7 +921,7 @@ PLAN-ROOT SINK
| |
| 58:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=16 row-size=8B cardinality=1
+| | tuple-ids=16 row-size=8B cardinality=3
| | in pipelines: 10(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -929,7 +929,7 @@ PLAN-ROOT SINK
| 10:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=16 row-size=8B cardinality=1
+| | tuple-ids=16 row-size=8B cardinality=3
| | in pipelines: 10(GETNEXT), 09(OPEN)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -966,7 +966,7 @@ PLAN-ROOT SINK
| |
| 55:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=8B cardinality=1
+| | tuple-ids=13 row-size=8B cardinality=3
| | in pipelines: 08(GETNEXT)
| |
| F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -974,7 +974,7 @@ PLAN-ROOT SINK
| 08:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=8B cardinality=1
+| | tuple-ids=13 row-size=8B cardinality=3
| | in pipelines: 08(GETNEXT), 07(OPEN)
| |
| 07:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1011,7 +1011,7 @@ PLAN-ROOT SINK
| |
| 52:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=9 row-size=8B cardinality=1
+| | tuple-ids=9 row-size=8B cardinality=3
| | in pipelines: 06(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1019,7 +1019,7 @@ PLAN-ROOT SINK
| 06:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=9 row-size=8B cardinality=1
+| | tuple-ids=9 row-size=8B cardinality=3
| | in pipelines: 06(GETNEXT), 05(OPEN)
| |
| 05:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1056,7 +1056,7 @@ PLAN-ROOT SINK
| |
| 49:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=3
| | in pipelines: 04(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1064,7 +1064,7 @@ PLAN-ROOT SINK
| 04:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=3
| | in pipelines: 04(GETNEXT), 03(OPEN)
| |
| 03:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1114,7 +1114,7 @@ PLAN-ROOT SINK
|
46:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=2 row-size=8B cardinality=1
+| tuple-ids=2 row-size=8B cardinality=3
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1122,7 +1122,7 @@ Per-Host Resources: mem-estimate=16.02MB mem-reservation=128.00KB thread-reserva
02:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=2 row-size=8B cardinality=1
+| tuple-ids=2 row-size=8B cardinality=3
| in pipelines: 02(GETNEXT), 01(OPEN)
|
01:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1174,7 +1174,7 @@ PLAN-ROOT SINK
| |
| 88:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=53 row-size=8B cardinality=1
+| | tuple-ids=53 row-size=8B cardinality=6
| | in pipelines: 30(GETNEXT)
| |
| F29:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1182,7 +1182,7 @@ PLAN-ROOT SINK
| 30:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=53 row-size=8B cardinality=1
+| | tuple-ids=53 row-size=8B cardinality=6
| | in pipelines: 30(GETNEXT), 29(OPEN)
| |
| 29:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1226,7 +1226,7 @@ PLAN-ROOT SINK
| |
| 85:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=49 row-size=8B cardinality=1
+| | tuple-ids=49 row-size=8B cardinality=6
| | in pipelines: 28(GETNEXT)
| |
| F27:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1234,7 +1234,7 @@ PLAN-ROOT SINK
| 28:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=49 row-size=8B cardinality=1
+| | tuple-ids=49 row-size=8B cardinality=6
| | in pipelines: 28(GETNEXT), 27(OPEN)
| |
| 27:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1278,7 +1278,7 @@ PLAN-ROOT SINK
| |
| 82:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=46 row-size=8B cardinality=1
+| | tuple-ids=46 row-size=8B cardinality=6
| | in pipelines: 26(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1286,7 +1286,7 @@ PLAN-ROOT SINK
| 26:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46 row-size=8B cardinality=1
+| | tuple-ids=46 row-size=8B cardinality=6
| | in pipelines: 26(GETNEXT), 25(OPEN)
| |
| 25:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1330,7 +1330,7 @@ PLAN-ROOT SINK
| |
| 79:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=42 row-size=8B cardinality=1
+| | tuple-ids=42 row-size=8B cardinality=6
| | in pipelines: 24(GETNEXT)
| |
| F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1338,7 +1338,7 @@ PLAN-ROOT SINK
| 24:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=42 row-size=8B cardinality=1
+| | tuple-ids=42 row-size=8B cardinality=6
| | in pipelines: 24(GETNEXT), 23(OPEN)
| |
| 23:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1382,7 +1382,7 @@ PLAN-ROOT SINK
| |
| 76:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=38 row-size=8B cardinality=1
+| | tuple-ids=38 row-size=8B cardinality=6
| | in pipelines: 22(GETNEXT)
| |
| F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1390,7 +1390,7 @@ PLAN-ROOT SINK
| 22:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=38 row-size=8B cardinality=1
+| | tuple-ids=38 row-size=8B cardinality=6
| | in pipelines: 22(GETNEXT), 21(OPEN)
| |
| 21:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1434,7 +1434,7 @@ PLAN-ROOT SINK
| |
| 73:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=35 row-size=8B cardinality=1
+| | tuple-ids=35 row-size=8B cardinality=6
| | in pipelines: 20(GETNEXT)
| |
| F19:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1442,7 +1442,7 @@ PLAN-ROOT SINK
| 20:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=35 row-size=8B cardinality=1
+| | tuple-ids=35 row-size=8B cardinality=6
| | in pipelines: 20(GETNEXT), 19(OPEN)
| |
| 19:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1486,7 +1486,7 @@ PLAN-ROOT SINK
| |
| 70:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=8B cardinality=1
+| | tuple-ids=31 row-size=8B cardinality=6
| | in pipelines: 18(GETNEXT)
| |
| F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1494,7 +1494,7 @@ PLAN-ROOT SINK
| 18:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=31 row-size=8B cardinality=1
+| | tuple-ids=31 row-size=8B cardinality=6
| | in pipelines: 18(GETNEXT), 17(OPEN)
| |
| 17:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1538,7 +1538,7 @@ PLAN-ROOT SINK
| |
| 67:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=27 row-size=8B cardinality=1
+| | tuple-ids=27 row-size=8B cardinality=6
| | in pipelines: 16(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1546,7 +1546,7 @@ PLAN-ROOT SINK
| 16:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=27 row-size=8B cardinality=1
+| | tuple-ids=27 row-size=8B cardinality=6
| | in pipelines: 16(GETNEXT), 15(OPEN)
| |
| 15:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1590,7 +1590,7 @@ PLAN-ROOT SINK
| |
| 64:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=24 row-size=8B cardinality=1
+| | tuple-ids=24 row-size=8B cardinality=6
| | in pipelines: 14(GETNEXT)
| |
| F13:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1598,7 +1598,7 @@ PLAN-ROOT SINK
| 14:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=24 row-size=8B cardinality=1
+| | tuple-ids=24 row-size=8B cardinality=6
| | in pipelines: 14(GETNEXT), 13(OPEN)
| |
| 13:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1642,7 +1642,7 @@ PLAN-ROOT SINK
| |
| 61:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=20 row-size=8B cardinality=1
+| | tuple-ids=20 row-size=8B cardinality=6
| | in pipelines: 12(GETNEXT)
| |
| F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1650,7 +1650,7 @@ PLAN-ROOT SINK
| 12:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=20 row-size=8B cardinality=1
+| | tuple-ids=20 row-size=8B cardinality=6
| | in pipelines: 12(GETNEXT), 11(OPEN)
| |
| 11:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1694,7 +1694,7 @@ PLAN-ROOT SINK
| |
| 58:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=16 row-size=8B cardinality=1
+| | tuple-ids=16 row-size=8B cardinality=6
| | in pipelines: 10(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1702,7 +1702,7 @@ PLAN-ROOT SINK
| 10:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=16 row-size=8B cardinality=1
+| | tuple-ids=16 row-size=8B cardinality=6
| | in pipelines: 10(GETNEXT), 09(OPEN)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1746,7 +1746,7 @@ PLAN-ROOT SINK
| |
| 55:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=8B cardinality=1
+| | tuple-ids=13 row-size=8B cardinality=6
| | in pipelines: 08(GETNEXT)
| |
| F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1754,7 +1754,7 @@ PLAN-ROOT SINK
| 08:AGGREGATE
| | output: count(*)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=8B cardinality=1
+| | tuple-ids=13 row-size=8B cardinality=6
| | in pipelines: 08(GETNEXT), 07(OPEN)
| |
| 07:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1798,7 +1798,7 @@ PLAN-ROOT SINK
| |
| 52:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=9 row-size=8B cardinality=1
+| | tuple-ids=9 row-size=8B cardinality=6
| | in pipelines: 06(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1806,7 +1806,7 @@ PLAN-ROOT SINK
| 06:AGGREGATE
| | output: avg(ss_net_profit)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=9 row-size=8B cardinality=1
+| | tuple-ids=9 row-size=8B cardinality=6
| | in pipelines: 06(GETNEXT), 05(OPEN)
| |
| 05:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1850,7 +1850,7 @@ PLAN-ROOT SINK
| |
| 49:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=6
| | in pipelines: 04(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1858,7 +1858,7 @@ PLAN-ROOT SINK
| 04:AGGREGATE
| | output: avg(ss_ext_discount_amt)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=5 row-size=8B cardinality=1
+| | tuple-ids=5 row-size=8B cardinality=6
| | in pipelines: 04(GETNEXT), 03(OPEN)
| |
| 03:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1915,7 +1915,7 @@ PLAN-ROOT SINK
|
46:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=2 row-size=8B cardinality=1
+| tuple-ids=2 row-size=8B cardinality=6
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1923,7 +1923,7 @@ Per-Instance Resources: mem-estimate=16.02MB mem-reservation=128.00KB thread-res
02:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=2 row-size=8B cardinality=1
+| tuple-ids=2 row-size=8B cardinality=6
| in pipelines: 02(GETNEXT), 01(OPEN)
|
01:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q11.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q11.test
index 8db9a46a0..5a9b187c2 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q11.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q11.test
@@ -375,8 +375,8 @@ PLAN-ROOT SINK
tuple-ids=34 row-size=153B cardinality=100.00K
in pipelines: 22(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=323.88MB Threads=34
-Per-Host Resource Estimates: Memory=1.34GB
+Max Per-Host Resource Reservation: Memory=332.38MB Threads=34
+Per-Host Resource Estimates: Memory=1.35GB
F25:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -413,7 +413,7 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| | in pipelines: 54(GETNEXT)
| |
| F24:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
-| Per-Host Resources: mem-estimate=25.96MB mem-reservation=17.00MB thread-reservation=1
+| Per-Host Resources: mem-estimate=26.33MB mem-reservation=17.00MB thread-reservation=1
| 21:UNION
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=38 row-size=44B cardinality=100.00K
@@ -427,8 +427,8 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| | in pipelines: 54(GETNEXT), 23(OPEN)
| |
| 53:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=8.40MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=37 row-size=169B cardinality=100.00K
+| | mem-estimate=8.77MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=37 row-size=169B cardinality=104.58K
| | in pipelines: 23(GETNEXT)
| |
| F21:PLAN FRAGMENT [HASH(ws_bill_customer_sk)] hosts=2 instances=2
@@ -437,7 +437,7 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| | output: sum(ws_ext_list_price - ws_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=37 row-size=169B cardinality=100.00K
+| | tuple-ids=37 row-size=169B cardinality=104.58K
| | in pipelines: 23(GETNEXT)
| |
| 26:HASH JOIN [INNER JOIN, BROADCAST]
@@ -525,7 +525,7 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| | in pipelines: 41(GETNEXT)
| |
| F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=20.52MB mem-reservation=11.44MB thread-reservation=1 runtime-filters-memory=1.00MB
+| Per-Host Resources: mem-estimate=32.14MB mem-reservation=19.94MB thread-reservation=1 runtime-filters-memory=1.00MB
| 28:HASH JOIN [INNER JOIN, BROADCAST]
| | hash predicates: customer_id = customer_id
| | fk/pk conjuncts: assumed fk/pk
@@ -648,13 +648,13 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| 41:AGGREGATE [FINALIZE]
| | output: sum:merge(ss_ext_list_price - ss_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=13 row-size=169B cardinality=100.00K
| | in pipelines: 41(GETNEXT), 09(OPEN)
| |
| 40:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=169B cardinality=100.00K
+| | mem-estimate=10.51MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=169B cardinality=257.89K
| | in pipelines: 09(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
@@ -663,7 +663,7 @@ Per-Host Resources: mem-estimate=12.91MB mem-reservation=8.69MB thread-reservati
| | output: sum(ss_ext_list_price - ss_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=169B cardinality=100.00K
+| | tuple-ids=13 row-size=169B cardinality=257.89K
| | in pipelines: 09(GETNEXT)
| |
| 12:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -846,8 +846,8 @@ Per-Host Resources: mem-estimate=52.31MB mem-reservation=5.94MB thread-reservati
tuple-ids=1 row-size=16B cardinality=589.03K(filtered from 2.88M)
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=383.50MB Threads=44
-Per-Host Resource Estimates: Memory=789MB
+Max Per-Host Resource Reservation: Memory=408.00MB Threads=44
+Per-Host Resource Estimates: Memory=813MB
F25:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -892,7 +892,7 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| | in pipelines: 54(GETNEXT)
| |
| F24:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
-| Per-Instance Resources: mem-estimate=26.53MB mem-reservation=17.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=26.90MB mem-reservation=17.00MB thread-reservation=1
| 21:UNION
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=38 row-size=44B cardinality=100.00K
@@ -906,8 +906,8 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| | in pipelines: 54(GETNEXT), 23(OPEN)
| |
| 53:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=8.40MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=37 row-size=169B cardinality=100.00K
+| | mem-estimate=8.77MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=37 row-size=169B cardinality=104.58K
| | in pipelines: 23(GETNEXT)
| |
| F21:PLAN FRAGMENT [HASH(ws_bill_customer_sk)] hosts=2 instances=2
@@ -916,7 +916,7 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| | output: sum(ws_ext_list_price - ws_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=37 row-size=169B cardinality=100.00K
+| | tuple-ids=37 row-size=169B cardinality=104.58K
| | in pipelines: 23(GETNEXT)
| |
| 26:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1029,7 +1029,7 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| | in pipelines: 41(GETNEXT)
| |
| F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=19.79MB mem-reservation=4.75MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=31.41MB mem-reservation=17.00MB thread-reservation=1
| 28:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=04
| | hash predicates: customer_id = customer_id
@@ -1178,13 +1178,13 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| 41:AGGREGATE [FINALIZE]
| | output: sum:merge(ss_ext_list_price - ss_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
-| | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=13 row-size=169B cardinality=100.00K
| | in pipelines: 41(GETNEXT), 09(OPEN)
| |
| 40:EXCHANGE [HASH(c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year)]
-| | mem-estimate=6.39MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=169B cardinality=100.00K
+| | mem-estimate=11.01MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=169B cardinality=375.20K
| | in pipelines: 09(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
@@ -1193,7 +1193,7 @@ Per-Instance Resources: mem-estimate=1.11MB mem-reservation=0B thread-reservatio
| | output: sum(ss_ext_list_price - ss_ext_discount_amt)
| | group by: c_customer_id, c_first_name, c_last_name, c_preferred_cust_flag, c_birth_country, c_login, c_email_address, d_year
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=13 row-size=169B cardinality=100.00K
+| | tuple-ids=13 row-size=169B cardinality=375.20K
| | in pipelines: 09(GETNEXT)
| |
| 12:HASH JOIN [INNER JOIN, PARTITIONED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q12.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q12.test
index 0f32d4ba5..13a9f2579 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q12.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q12.test
@@ -114,7 +114,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=16B cardinality=216.12K(filtered from 719.38K)
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=74.69MB Threads=8
+Max Per-Host Resource Reservation: Memory=76.56MB Threads=8
Per-Host Resource Estimates: Memory=297MB
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
@@ -130,7 +130,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(i_class)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservation=1
+Per-Host Resources: mem-estimate=26.00MB mem-reservation=20.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ws_ext_sales_price) * 100.0000 / sum(sum(ws_ext_sales_price)) ASC
| mem-estimate=20.91KB mem-reservation=0B thread-reservation=0
@@ -153,13 +153,13 @@ Per-Host Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservat
12:AGGREGATE [FINALIZE]
| output: sum:merge(ws_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
-| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=3 row-size=198B cardinality=18.00K
| in pipelines: 12(GETNEXT), 00(OPEN)
|
11:EXCHANGE [HASH(i_class)]
-| mem-estimate=2.10MB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| mem-estimate=3.79MB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=198B cardinality=35.91K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -168,7 +168,7 @@ Per-Host Resources: mem-estimate=138.39MB mem-reservation=48.81MB thread-reserva
| output: sum(ws_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| tuple-ids=3 row-size=198B cardinality=35.91K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -238,7 +238,7 @@ Per-Host Resources: mem-estimate=138.39MB mem-reservation=48.81MB thread-reserva
tuple-ids=0 row-size=16B cardinality=216.12K(filtered from 719.38K)
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=81.50MB Threads=7
+Max Per-Host Resource Reservation: Memory=83.38MB Threads=7
Per-Host Resource Estimates: Memory=146MB
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
@@ -254,7 +254,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(i_class)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservation=1
+Per-Instance Resources: mem-estimate=26.00MB mem-reservation=20.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ws_ext_sales_price) * 100.0000 / sum(sum(ws_ext_sales_price)) ASC
| mem-estimate=20.91KB mem-reservation=0B thread-reservation=0
@@ -277,13 +277,13 @@ Per-Instance Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-rese
12:AGGREGATE [FINALIZE]
| output: sum:merge(ws_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
-| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=3 row-size=198B cardinality=18.00K
| in pipelines: 12(GETNEXT), 00(OPEN)
|
11:EXCHANGE [HASH(i_class)]
-| mem-estimate=2.10MB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| mem-estimate=3.79MB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=198B cardinality=35.91K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -293,7 +293,7 @@ Per-Instance Resources: mem-estimate=67.58MB mem-reservation=42.00MB thread-rese
| output: sum(ws_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| tuple-ids=3 row-size=198B cardinality=35.91K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q13.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q13.test
index 4a5f0003e..97d2be20b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q13.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q13.test
@@ -196,7 +196,7 @@ PLAN-ROOT SINK
|
18:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=40B cardinality=1
+| tuple-ids=6 row-size=40B cardinality=3
| in pipelines: 11(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(ss_cdemo_sk)] hosts=3 instances=3
@@ -204,7 +204,7 @@ Per-Host Resources: mem-estimate=19.61MB mem-reservation=12.44MB thread-reservat
11:AGGREGATE
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_ext_sales_price), avg(ss_ext_wholesale_cost), sum(ss_ext_wholesale_cost)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=6 row-size=40B cardinality=1
+| tuple-ids=6 row-size=40B cardinality=3
| in pipelines: 11(GETNEXT), 00(OPEN)
|
10:HASH JOIN [INNER JOIN, BROADCAST]
@@ -382,7 +382,7 @@ PLAN-ROOT SINK
|
18:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=40B cardinality=1
+| tuple-ids=6 row-size=40B cardinality=6
| in pipelines: 11(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(ss_cdemo_sk)] hosts=3 instances=6
@@ -390,7 +390,7 @@ Per-Instance Resources: mem-estimate=802.87KB mem-reservation=0B thread-reservat
11:AGGREGATE
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_ext_sales_price), avg(ss_ext_wholesale_cost), sum(ss_ext_wholesale_cost)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=6 row-size=40B cardinality=1
+| tuple-ids=6 row-size=40B cardinality=6
| in pipelines: 11(GETNEXT), 00(OPEN)
|
10:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14a.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14a.test
index ba30d8bf3..2b4dd5c8a 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14a.test
@@ -1329,12 +1329,12 @@ Per-Host Resources: mem-estimate=60.00MB mem-reservation=23.81MB thread-reservat
| in pipelines: 206(GETNEXT), 146(OPEN), 172(OPEN), 198(OPEN)
|
205:EXCHANGE [HASH(CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(channel) WHEN 105 THEN murmur_hash(channel) WHEN 106 THEN murmur_hash(channel) WHEN 107 THEN murmur_hash(channel) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(i_brand_id) WHEN 105 THEN murmur_hash(i_brand_id) WHEN 106 THEN murmur_hash(i_brand_id) WHEN 107 THEN murmur_hash(NULL) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 10 [...]
-| mem-estimate=8.50MB mem-reservation=0B thread-reservation=0
-| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=101.43K
+| mem-estimate=8.91MB mem-reservation=0B thread-reservation=0
+| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=106.81K
| in pipelines: 146(GETNEXT), 172(GETNEXT), 198(GETNEXT)
|
F75:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=63.77MB mem-reservation=17.94MB thread-reservation=1
124:AGGREGATE [STREAMING]
| Class 0
| output: sum(sales), sum(number_sales)
@@ -1352,7 +1352,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| output: sum(sales), sum(number_sales)
| group by: NULL, NULL, NULL, NULL
| mem-estimate=50.00MB mem-reservation=16.00MB thread-reservation=0
-| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=101.43K
+| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=106.81K
| in pipelines: 146(GETNEXT), 172(GETNEXT), 198(GETNEXT)
|
00:UNION
@@ -1381,7 +1381,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | |
| | 202:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=98 row-size=16B cardinality=1
+| | | tuple-ids=98 row-size=16B cardinality=3
| | | in pipelines: 122(GETNEXT)
| | |
| | F73:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1389,7 +1389,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | 122:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=98 row-size=16B cardinality=1
+| | | tuple-ids=98 row-size=16B cardinality=3
| | | in pipelines: 122(GETNEXT), 113(OPEN), 116(OPEN), 119(OPEN)
| | |
| | 112:UNION
@@ -1521,8 +1521,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | in pipelines: 198(GETNEXT), 83(OPEN)
| |
| 197:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| | mem-estimate=396.41KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=88 row-size=36B cardinality=18.00K
+| | mem-estimate=520.40KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=88 row-size=36B cardinality=25.05K
| | in pipelines: 83(GETNEXT)
| |
| F50:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1531,7 +1531,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | output: sum(CAST(ws_quantity AS DECIMAL(10,0)) * ws_list_price), count(*)
| | group by: i_brand_id, i_class_id, i_category_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=88 row-size=36B cardinality=18.00K
+| | tuple-ids=88 row-size=36B cardinality=25.05K
| | in pipelines: 83(GETNEXT)
| |
| 110:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -1547,7 +1547,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | in pipelines: 184(GETNEXT)
| | |
| | F56:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=16.54MB mem-reservation=7.75MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=16.68MB mem-reservation=7.75MB thread-reservation=1
| | 107:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
| | | fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -1585,7 +1585,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 193(GETNEXT)
| | | |
| | | F64:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=2 instances=2
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.24MB mem-reservation=1.94MB thread-reservation=1
| | | 193:AGGREGATE [FINALIZE]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1593,8 +1593,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 193(GETNEXT), 98(OPEN)
| | | |
| | | 192:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=167 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=167 row-size=12B cardinality=36.00K
| | | | in pipelines: 98(GETNEXT)
| | | |
| | | F61:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1602,7 +1602,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | 105:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=167 row-size=12B cardinality=18.00K
+| | | | tuple-ids=167 row-size=12B cardinality=36.00K
| | | | in pipelines: 98(GETNEXT)
| | | |
| | | 102:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1681,7 +1681,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 188(GETNEXT)
| | | |
| | | F60:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.25MB mem-reservation=1.94MB thread-reservation=1
| | | 188:AGGREGATE [FINALIZE]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1689,8 +1689,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 188(GETNEXT), 93(OPEN)
| | | |
| | | 187:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=166 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=166 row-size=12B cardinality=54.00K
| | | | in pipelines: 93(GETNEXT)
| | | |
| | | F57:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1698,7 +1698,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | 103:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=166 row-size=12B cardinality=18.00K
+| | | | tuple-ids=166 row-size=12B cardinality=54.00K
| | | | in pipelines: 93(GETNEXT)
| | | |
| | | 97:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1772,8 +1772,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | in pipelines: 184(GETNEXT), 87(OPEN)
| | |
| | 183:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=75 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=75 row-size=12B cardinality=54.00K
| | | in pipelines: 87(GETNEXT)
| | |
| | F53:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1781,7 +1781,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | 92:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=75 row-size=12B cardinality=18.00K
+| | | tuple-ids=75 row-size=12B cardinality=54.00K
| | | in pipelines: 87(GETNEXT)
| | |
| | 91:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1935,7 +1935,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | |
| | 176:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=64 row-size=16B cardinality=1
+| | | tuple-ids=64 row-size=16B cardinality=3
| | | in pipelines: 81(GETNEXT)
| | |
| | F48:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1943,7 +1943,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | 81:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=64 row-size=16B cardinality=1
+| | | tuple-ids=64 row-size=16B cardinality=3
| | | in pipelines: 81(GETNEXT), 72(OPEN), 75(OPEN), 78(OPEN)
| | |
| | 71:UNION
@@ -2075,8 +2075,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | in pipelines: 172(GETNEXT), 42(OPEN)
| |
| 171:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| | mem-estimate=330.94KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=54 row-size=36B cardinality=18.00K
+| | mem-estimate=622.45KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=54 row-size=36B cardinality=42.88K
| | in pipelines: 42(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2085,7 +2085,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | output: sum(CAST(cs_quantity AS DECIMAL(10,0)) * cs_list_price), count(*)
| | group by: i_brand_id, i_class_id, i_category_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=54 row-size=36B cardinality=18.00K
+| | tuple-ids=54 row-size=36B cardinality=42.88K
| | in pipelines: 42(GETNEXT)
| |
| 69:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -2101,7 +2101,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | in pipelines: 158(GETNEXT)
| | |
| | F31:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=16.54MB mem-reservation=7.75MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=16.68MB mem-reservation=7.75MB thread-reservation=1
| | 66:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
| | | fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -2139,7 +2139,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 167(GETNEXT)
| | | |
| | | F39:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=2 instances=2
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.24MB mem-reservation=1.94MB thread-reservation=1
| | | 167:AGGREGATE [FINALIZE]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -2147,8 +2147,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 167(GETNEXT), 57(OPEN)
| | | |
| | | 166:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=146 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=146 row-size=12B cardinality=36.00K
| | | | in pipelines: 57(GETNEXT)
| | | |
| | | F36:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2156,7 +2156,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | 64:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=146 row-size=12B cardinality=18.00K
+| | | | tuple-ids=146 row-size=12B cardinality=36.00K
| | | | in pipelines: 57(GETNEXT)
| | | |
| | | 61:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2235,7 +2235,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 162(GETNEXT)
| | | |
| | | F35:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.25MB mem-reservation=1.94MB thread-reservation=1
| | | 162:AGGREGATE [FINALIZE]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -2243,8 +2243,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | | in pipelines: 162(GETNEXT), 52(OPEN)
| | | |
| | | 161:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=145 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=145 row-size=12B cardinality=54.00K
| | | | in pipelines: 52(GETNEXT)
| | | |
| | | F32:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2252,7 +2252,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | 62:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=145 row-size=12B cardinality=18.00K
+| | | | tuple-ids=145 row-size=12B cardinality=54.00K
| | | | in pipelines: 52(GETNEXT)
| | | |
| | | 56:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2326,8 +2326,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | | in pipelines: 158(GETNEXT), 46(OPEN)
| | |
| | 157:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=41 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=41 row-size=12B cardinality=54.00K
| | | in pipelines: 46(GETNEXT)
| | |
| | F28:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2335,7 +2335,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| | 51:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=41 row-size=12B cardinality=18.00K
+| | | tuple-ids=41 row-size=12B cardinality=54.00K
| | | in pipelines: 46(GETNEXT)
| | |
| | 50:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2489,7 +2489,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| |
| 150:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=30 row-size=16B cardinality=1
+| | tuple-ids=30 row-size=16B cardinality=3
| | in pipelines: 40(GETNEXT)
| |
| F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2497,7 +2497,7 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| 40:AGGREGATE
| | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=16B cardinality=1
+| | tuple-ids=30 row-size=16B cardinality=3
| | in pipelines: 40(GETNEXT), 31(OPEN), 34(OPEN), 37(OPEN)
| |
| 30:UNION
@@ -2629,8 +2629,8 @@ Per-Host Resources: mem-estimate=63.45MB mem-reservation=17.94MB thread-reservat
| in pipelines: 146(GETNEXT), 01(OPEN)
|
145:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| mem-estimate=330.94KB mem-reservation=0B thread-reservation=0
-| tuple-ids=20 row-size=36B cardinality=18.00K
+| mem-estimate=725.95KB mem-reservation=0B thread-reservation=0
+| tuple-ids=20 row-size=36B cardinality=51.71K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2639,7 +2639,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_list_price), count(*)
| group by: i_brand_id, i_class_id, i_category_id
| mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=20 row-size=36B cardinality=18.00K
+| tuple-ids=20 row-size=36B cardinality=51.71K
| in pipelines: 01(GETNEXT)
|
28:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -2655,7 +2655,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | in pipelines: 132(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=21.54MB mem-reservation=12.75MB thread-reservation=1 runtime-filters-memory=5.00MB
+| Per-Host Resources: mem-estimate=21.68MB mem-reservation=12.75MB thread-reservation=1 runtime-filters-memory=5.00MB
| 25:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
| | fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -2694,7 +2694,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | | in pipelines: 141(GETNEXT)
| | |
| | F14:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=2 instances=2
-| | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.24MB mem-reservation=1.94MB thread-reservation=1
| | 141:AGGREGATE [FINALIZE]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -2702,8 +2702,8 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | | in pipelines: 141(GETNEXT), 16(OPEN)
| | |
| | 140:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=125 row-size=12B cardinality=18.00K
+| | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=125 row-size=12B cardinality=36.00K
| | | in pipelines: 16(GETNEXT)
| | |
| | F11:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2711,7 +2711,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | 23:AGGREGATE [STREAMING]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=125 row-size=12B cardinality=18.00K
+| | | tuple-ids=125 row-size=12B cardinality=36.00K
| | | in pipelines: 16(GETNEXT)
| | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2790,7 +2790,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | | in pipelines: 136(GETNEXT)
| | |
| | F10:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.25MB mem-reservation=1.94MB thread-reservation=1
| | 136:AGGREGATE [FINALIZE]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -2798,8 +2798,8 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | | in pipelines: 136(GETNEXT), 11(OPEN)
| | |
| | 135:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=124 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=124 row-size=12B cardinality=54.00K
| | | in pipelines: 11(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2807,7 +2807,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | 21:AGGREGATE [STREAMING]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=124 row-size=12B cardinality=18.00K
+| | | tuple-ids=124 row-size=12B cardinality=54.00K
| | | in pipelines: 11(GETNEXT)
| | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2881,8 +2881,8 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| | in pipelines: 132(GETNEXT), 05(OPEN)
| |
| 131:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=12B cardinality=54.00K
| | in pipelines: 05(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2890,7 +2890,7 @@ Per-Host Resources: mem-estimate=67.86MB mem-reservation=12.81MB thread-reservat
| 10:AGGREGATE [STREAMING]
| | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | tuple-ids=7 row-size=12B cardinality=54.00K
| | in pipelines: 05(GETNEXT)
| |
| 09:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3040,7 +3040,7 @@ PLAN-ROOT SINK
| in pipelines: 126(GETNEXT)
|
F76:PLAN FRAGMENT [HASH(CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(channel) WHEN 105 THEN murmur_hash(channel) WHEN 106 THEN murmur_hash(channel) WHEN 107 THEN murmur_hash(channel) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(i_brand_id) WHEN 105 THEN murmur_hash(i_brand_id) WHEN 106 THEN murmur_hash(i_brand_id) WHEN 107 THEN murmur_hash(NULL) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WH [...]
-Per-Instance Resources: mem-estimate=60.00MB mem-reservation=16.31MB thread-reservation=1
+Per-Instance Resources: mem-estimate=60.60MB mem-reservation=16.31MB thread-reservation=1
126:TOP-N [LIMIT=100]
| order by: CASE valid_tid(104,105,106,107,108) WHEN 104 THEN channel WHEN 105 THEN channel WHEN 106 THEN channel WHEN 107 THEN channel WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_brand_id WHEN 105 THEN i_brand_id WHEN 106 THEN i_brand_id WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_class_id WHEN 105 THEN i_class_id WHEN 106 THEN NULL WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(10 [...]
| mem-estimate=4.69KB mem-reservation=0B thread-reservation=0
@@ -3075,12 +3075,12 @@ Per-Instance Resources: mem-estimate=60.00MB mem-reservation=16.31MB thread-rese
| in pipelines: 206(GETNEXT), 146(OPEN), 172(OPEN), 198(OPEN)
|
205:EXCHANGE [HASH(CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(channel) WHEN 105 THEN murmur_hash(channel) WHEN 106 THEN murmur_hash(channel) WHEN 107 THEN murmur_hash(channel) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(i_brand_id) WHEN 105 THEN murmur_hash(i_brand_id) WHEN 106 THEN murmur_hash(i_brand_id) WHEN 107 THEN murmur_hash(NULL) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 10 [...]
-| mem-estimate=9.26MB mem-reservation=0B thread-reservation=0
-| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=101.43K
+| mem-estimate=10.60MB mem-reservation=0B thread-reservation=0
+| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=119.01K
| in pipelines: 146(GETNEXT), 172(GETNEXT), 198(GETNEXT)
|
F75:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=67.31MB mem-reservation=13.94MB thread-reservation=1
124:AGGREGATE [STREAMING]
| Class 0
| output: sum(sales), sum(number_sales)
@@ -3098,7 +3098,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| output: sum(sales), sum(number_sales)
| group by: NULL, NULL, NULL, NULL
| mem-estimate=50.00MB mem-reservation=12.00MB thread-reservation=0
-| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=101.43K
+| tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=119.01K
| in pipelines: 146(GETNEXT), 172(GETNEXT), 198(GETNEXT)
|
00:UNION
@@ -3134,7 +3134,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | |
| | 202:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=98 row-size=16B cardinality=1
+| | | tuple-ids=98 row-size=16B cardinality=6
| | | in pipelines: 122(GETNEXT)
| | |
| | F73:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -3142,7 +3142,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | 122:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=98 row-size=16B cardinality=1
+| | | tuple-ids=98 row-size=16B cardinality=6
| | | in pipelines: 122(GETNEXT), 113(OPEN), 116(OPEN), 119(OPEN)
| | |
| | 112:UNION
@@ -3298,8 +3298,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | in pipelines: 198(GETNEXT), 83(OPEN)
| |
| 197:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| | mem-estimate=396.41KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=88 row-size=36B cardinality=18.00K
+| | mem-estimate=520.40KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=88 row-size=36B cardinality=25.05K
| | in pipelines: 83(GETNEXT)
| |
| F50:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -3309,7 +3309,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | output: sum(CAST(ws_quantity AS DECIMAL(10,0)) * ws_list_price), count(*)
| | group by: i_brand_id, i_class_id, i_category_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=88 row-size=36B cardinality=18.00K
+| | tuple-ids=88 row-size=36B cardinality=25.05K
| | in pipelines: 83(GETNEXT)
| |
| 110:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -3333,7 +3333,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | in pipelines: 184(GETNEXT)
| | |
| | F56:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
| | 107:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=37
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -3395,8 +3395,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | | in pipelines: 193(GETNEXT), 98(OPEN)
| | | |
| | | 192:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=167 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=167 row-size=12B cardinality=36.00K
| | | | in pipelines: 98(GETNEXT)
| | | |
| | | F61:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -3404,7 +3404,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | 105:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=167 row-size=12B cardinality=18.00K
+| | | | tuple-ids=167 row-size=12B cardinality=36.00K
| | | | in pipelines: 98(GETNEXT)
| | | |
| | | 102:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3515,8 +3515,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | | in pipelines: 188(GETNEXT), 93(OPEN)
| | | |
| | | 187:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=166 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=166 row-size=12B cardinality=54.00K
| | | | in pipelines: 93(GETNEXT)
| | | |
| | | F57:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -3524,7 +3524,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | 103:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=166 row-size=12B cardinality=18.00K
+| | | | tuple-ids=166 row-size=12B cardinality=54.00K
| | | | in pipelines: 93(GETNEXT)
| | | |
| | | 97:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3614,8 +3614,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | in pipelines: 184(GETNEXT), 87(OPEN)
| | |
| | 183:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=166.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=75 row-size=12B cardinality=18.00K
+| | | mem-estimate=517.88KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=75 row-size=12B cardinality=108.00K
| | | in pipelines: 87(GETNEXT)
| | |
| | F53:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -3623,7 +3623,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | 92:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=75 row-size=12B cardinality=18.00K
+| | | tuple-ids=75 row-size=12B cardinality=108.00K
| | | in pipelines: 87(GETNEXT)
| | |
| | 91:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3816,7 +3816,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | |
| | 176:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=64 row-size=16B cardinality=1
+| | | tuple-ids=64 row-size=16B cardinality=6
| | | in pipelines: 81(GETNEXT)
| | |
| | F48:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -3824,7 +3824,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | 81:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=64 row-size=16B cardinality=1
+| | | tuple-ids=64 row-size=16B cardinality=6
| | | in pipelines: 81(GETNEXT), 72(OPEN), 75(OPEN), 78(OPEN)
| | |
| | 71:UNION
@@ -3980,8 +3980,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | in pipelines: 172(GETNEXT), 42(OPEN)
| |
| 171:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| | mem-estimate=330.94KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=54 row-size=36B cardinality=18.00K
+| | mem-estimate=622.45KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=54 row-size=36B cardinality=42.88K
| | in pipelines: 42(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -3991,7 +3991,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | output: sum(CAST(cs_quantity AS DECIMAL(10,0)) * cs_list_price), count(*)
| | group by: i_brand_id, i_class_id, i_category_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=54 row-size=36B cardinality=18.00K
+| | tuple-ids=54 row-size=36B cardinality=42.88K
| | in pipelines: 42(GETNEXT)
| |
| 69:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -4015,7 +4015,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | in pipelines: 158(GETNEXT)
| | |
| | F31:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
| | 66:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=25
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -4077,8 +4077,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | | in pipelines: 167(GETNEXT), 57(OPEN)
| | | |
| | | 166:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=146 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=146 row-size=12B cardinality=36.00K
| | | | in pipelines: 57(GETNEXT)
| | | |
| | | F36:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -4086,7 +4086,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | 64:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=146 row-size=12B cardinality=18.00K
+| | | | tuple-ids=146 row-size=12B cardinality=36.00K
| | | | in pipelines: 57(GETNEXT)
| | | |
| | | 61:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4197,8 +4197,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | | in pipelines: 162(GETNEXT), 52(OPEN)
| | | |
| | | 161:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=145 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=145 row-size=12B cardinality=54.00K
| | | | in pipelines: 52(GETNEXT)
| | | |
| | | F32:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -4206,7 +4206,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | 62:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=145 row-size=12B cardinality=18.00K
+| | | | tuple-ids=145 row-size=12B cardinality=54.00K
| | | | in pipelines: 52(GETNEXT)
| | | |
| | | 56:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4296,8 +4296,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | | in pipelines: 158(GETNEXT), 46(OPEN)
| | |
| | 157:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=166.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=41 row-size=12B cardinality=18.00K
+| | | mem-estimate=517.88KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=41 row-size=12B cardinality=108.00K
| | | in pipelines: 46(GETNEXT)
| | |
| | F28:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4305,7 +4305,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| | 51:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=41 row-size=12B cardinality=18.00K
+| | | tuple-ids=41 row-size=12B cardinality=108.00K
| | | in pipelines: 46(GETNEXT)
| | |
| | 50:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4498,7 +4498,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| |
| 150:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=30 row-size=16B cardinality=1
+| | tuple-ids=30 row-size=16B cardinality=6
| | in pipelines: 40(GETNEXT)
| |
| F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4506,7 +4506,7 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| 40:AGGREGATE
| | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=16B cardinality=1
+| | tuple-ids=30 row-size=16B cardinality=6
| | in pipelines: 40(GETNEXT), 31(OPEN), 34(OPEN), 37(OPEN)
| |
| 30:UNION
@@ -4662,8 +4662,8 @@ Per-Instance Resources: mem-estimate=66.53MB mem-reservation=13.94MB thread-rese
| in pipelines: 146(GETNEXT), 01(OPEN)
|
145:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-| mem-estimate=450.94KB mem-reservation=0B thread-reservation=0
-| tuple-ids=20 row-size=36B cardinality=18.00K
+| mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
+| tuple-ids=20 row-size=36B cardinality=85.74K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4673,7 +4673,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_list_price), count(*)
| group by: i_brand_id, i_class_id, i_category_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=20 row-size=36B cardinality=18.00K
+| tuple-ids=20 row-size=36B cardinality=85.74K
| in pipelines: 01(GETNEXT)
|
28:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -4697,7 +4697,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | in pipelines: 132(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
| 25:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=13
| | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -4760,8 +4760,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | | in pipelines: 141(GETNEXT), 16(OPEN)
| | |
| | 140:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=125 row-size=12B cardinality=18.00K
+| | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=125 row-size=12B cardinality=36.00K
| | | in pipelines: 16(GETNEXT)
| | |
| | F11:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -4769,7 +4769,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | 23:AGGREGATE [STREAMING]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=125 row-size=12B cardinality=18.00K
+| | | tuple-ids=125 row-size=12B cardinality=36.00K
| | | in pipelines: 16(GETNEXT)
| | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4880,8 +4880,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | | in pipelines: 136(GETNEXT), 11(OPEN)
| | |
| | 135:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=124 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=124 row-size=12B cardinality=54.00K
| | | in pipelines: 11(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -4889,7 +4889,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | 21:AGGREGATE [STREAMING]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=124 row-size=12B cardinality=18.00K
+| | | tuple-ids=124 row-size=12B cardinality=54.00K
| | | in pipelines: 11(GETNEXT)
| | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4979,8 +4979,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | in pipelines: 132(GETNEXT), 05(OPEN)
| |
| 131:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | mem-estimate=166.31KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | mem-estimate=517.88KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=12B cardinality=108.00K
| | in pipelines: 05(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -4988,7 +4988,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| 10:AGGREGATE [STREAMING]
| | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | tuple-ids=7 row-size=12B cardinality=108.00K
| | in pipelines: 05(GETNEXT)
| |
| 09:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14b.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14b.test
index a2a393224..bbc72df79 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q14b.test
@@ -955,7 +955,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=170.81MB Threads=84
-Per-Host Resource Estimates: Memory=2.15GB
+Per-Host Resource Estimates: Memory=2.16GB
F54:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -1006,7 +1006,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | |
| | 143:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=69 row-size=16B cardinality=1
+| | | tuple-ids=69 row-size=16B cardinality=3
| | | in pipelines: 86(GETNEXT)
| | |
| | F52:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1014,7 +1014,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | 86:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=69 row-size=16B cardinality=1
+| | | tuple-ids=69 row-size=16B cardinality=3
| | | in pipelines: 86(GETNEXT), 77(OPEN), 80(OPEN), 83(OPEN)
| | |
| | 76:UNION
@@ -1214,7 +1214,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | in pipelines: 123(GETNEXT)
| | |
| | F33:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=16.54MB mem-reservation=7.75MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=16.68MB mem-reservation=7.75MB thread-reservation=1
| | 68:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
| | | fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -1252,7 +1252,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | | in pipelines: 132(GETNEXT)
| | | |
| | | F41:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=2 instances=2
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.24MB mem-reservation=1.94MB thread-reservation=1
| | | 132:AGGREGATE [FINALIZE]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1260,8 +1260,8 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | | in pipelines: 132(GETNEXT), 59(OPEN)
| | | |
| | | 131:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=111 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=111 row-size=12B cardinality=36.00K
| | | | in pipelines: 59(GETNEXT)
| | | |
| | | F38:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1269,7 +1269,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | 66:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=111 row-size=12B cardinality=18.00K
+| | | | tuple-ids=111 row-size=12B cardinality=36.00K
| | | | in pipelines: 59(GETNEXT)
| | | |
| | | 63:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1348,7 +1348,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | | in pipelines: 127(GETNEXT)
| | | |
| | | F37:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.25MB mem-reservation=1.94MB thread-reservation=1
| | | 127:AGGREGATE [FINALIZE]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1356,8 +1356,8 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | | in pipelines: 127(GETNEXT), 54(OPEN)
| | | |
| | | 126:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=110 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=110 row-size=12B cardinality=54.00K
| | | | in pipelines: 54(GETNEXT)
| | | |
| | | F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1365,7 +1365,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | 64:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=110 row-size=12B cardinality=18.00K
+| | | | tuple-ids=110 row-size=12B cardinality=54.00K
| | | | in pipelines: 54(GETNEXT)
| | | |
| | | 58:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1439,8 +1439,8 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | | in pipelines: 123(GETNEXT), 48(OPEN)
| | |
| | 122:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=44 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=44 row-size=12B cardinality=54.00K
| | | in pipelines: 48(GETNEXT)
| | |
| | F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1448,7 +1448,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| | 53:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=44 row-size=12B cardinality=18.00K
+| | | tuple-ids=44 row-size=12B cardinality=54.00K
| | | in pipelines: 48(GETNEXT)
| | |
| | 52:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1600,7 +1600,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| |
| 115:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=16B cardinality=1
+| | tuple-ids=32 row-size=16B cardinality=3
| | in pipelines: 42(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1608,7 +1608,7 @@ Per-Host Resources: mem-estimate=25.00MB mem-reservation=8.81MB thread-reservati
| 42:AGGREGATE
| | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=16B cardinality=1
+| | tuple-ids=32 row-size=16B cardinality=3
| | in pipelines: 42(GETNEXT), 33(OPEN), 36(OPEN), 39(OPEN)
| |
| 32:UNION
@@ -1808,7 +1808,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | in pipelines: 95(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=18.54MB mem-reservation=9.75MB thread-reservation=1 runtime-filters-memory=2.00MB
+| Per-Host Resources: mem-estimate=18.68MB mem-reservation=9.75MB thread-reservation=1 runtime-filters-memory=2.00MB
| 24:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
| | fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -1846,7 +1846,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | | in pipelines: 104(GETNEXT)
| | |
| | F14:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=2 instances=2
-| | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.24MB mem-reservation=1.94MB thread-reservation=1
| | 104:AGGREGATE [FINALIZE]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1854,8 +1854,8 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | | in pipelines: 104(GETNEXT), 15(OPEN)
| | |
| | 103:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=89 row-size=12B cardinality=18.00K
+| | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=89 row-size=12B cardinality=36.00K
| | | in pipelines: 15(GETNEXT)
| | |
| | F11:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1863,7 +1863,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | 22:AGGREGATE [STREAMING]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=89 row-size=12B cardinality=18.00K
+| | | tuple-ids=89 row-size=12B cardinality=36.00K
| | | in pipelines: 15(GETNEXT)
| | |
| | 19:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1942,7 +1942,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | | in pipelines: 99(GETNEXT)
| | |
| | F10:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=10.19MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.25MB mem-reservation=1.94MB thread-reservation=1
| | 99:AGGREGATE [FINALIZE]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1950,8 +1950,8 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | | in pipelines: 99(GETNEXT), 10(OPEN)
| | |
| | 98:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=88 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=88 row-size=12B cardinality=54.00K
| | | in pipelines: 10(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1959,7 +1959,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | 20:AGGREGATE [STREAMING]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=88 row-size=12B cardinality=18.00K
+| | | tuple-ids=88 row-size=12B cardinality=54.00K
| | | in pipelines: 10(GETNEXT)
| | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2033,8 +2033,8 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| | in pipelines: 95(GETNEXT), 04(OPEN)
| |
| 94:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=12B cardinality=54.00K
| | in pipelines: 04(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2042,7 +2042,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
| 09:AGGREGATE [STREAMING]
| | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | tuple-ids=7 row-size=12B cardinality=54.00K
| | in pipelines: 04(GETNEXT)
| |
| 08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2175,7 +2175,7 @@ Per-Host Resources: mem-estimate=74.18MB mem-reservation=17.56MB thread-reservat
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=288.88MB Threads=99
-Per-Host Resource Estimates: Memory=1.29GB
+Per-Host Resource Estimates: Memory=1.30GB
F54:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -2241,7 +2241,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | |
| | 143:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=69 row-size=16B cardinality=1
+| | | tuple-ids=69 row-size=16B cardinality=6
| | | in pipelines: 86(GETNEXT)
| | |
| | F52:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2249,7 +2249,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | 86:AGGREGATE
| | | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=69 row-size=16B cardinality=1
+| | | tuple-ids=69 row-size=16B cardinality=6
| | | in pipelines: 86(GETNEXT), 77(OPEN), 80(OPEN), 83(OPEN)
| | |
| | 76:UNION
@@ -2489,7 +2489,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | in pipelines: 123(GETNEXT)
| | |
| | F33:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
| | 68:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=07
| | | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -2551,8 +2551,8 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 132(GETNEXT), 59(OPEN)
| | | |
| | | 131:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=111 row-size=12B cardinality=18.00K
+| | | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=111 row-size=12B cardinality=36.00K
| | | | in pipelines: 59(GETNEXT)
| | | |
| | | F38:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2560,7 +2560,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | 66:AGGREGATE [STREAMING]
| | | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=111 row-size=12B cardinality=18.00K
+| | | | tuple-ids=111 row-size=12B cardinality=36.00K
| | | | in pipelines: 59(GETNEXT)
| | | |
| | | 63:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2671,8 +2671,8 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 127(GETNEXT), 54(OPEN)
| | | |
| | | 126:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=110 row-size=12B cardinality=18.00K
+| | | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=110 row-size=12B cardinality=54.00K
| | | | in pipelines: 54(GETNEXT)
| | | |
| | | F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2680,7 +2680,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | 64:AGGREGATE [STREAMING]
| | | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=110 row-size=12B cardinality=18.00K
+| | | | tuple-ids=110 row-size=12B cardinality=54.00K
| | | | in pipelines: 54(GETNEXT)
| | | |
| | | 58:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2770,8 +2770,8 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | | in pipelines: 123(GETNEXT), 48(OPEN)
| | |
| | 122:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | | mem-estimate=166.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=44 row-size=12B cardinality=18.00K
+| | | mem-estimate=517.88KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=44 row-size=12B cardinality=108.00K
| | | in pipelines: 48(GETNEXT)
| | |
| | F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2779,7 +2779,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| | 53:AGGREGATE [STREAMING]
| | | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=44 row-size=12B cardinality=18.00K
+| | | tuple-ids=44 row-size=12B cardinality=108.00K
| | | in pipelines: 48(GETNEXT)
| | |
| | 52:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2971,7 +2971,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| |
| 115:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=16B cardinality=1
+| | tuple-ids=32 row-size=16B cardinality=6
| | in pipelines: 42(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2979,7 +2979,7 @@ Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reser
| 42:AGGREGATE
| | output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=16B cardinality=1
+| | tuple-ids=32 row-size=16B cardinality=6
| | in pipelines: 42(GETNEXT), 33(OPEN), 36(OPEN), 39(OPEN)
| |
| 32:UNION
@@ -3220,7 +3220,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | in pipelines: 95(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
| 24:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=24
| | hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
@@ -3282,8 +3282,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | | in pipelines: 104(GETNEXT), 15(OPEN)
| | |
| | 103:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-| | | mem-estimate=137.47KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=89 row-size=12B cardinality=18.00K
+| | | mem-estimate=242.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=89 row-size=12B cardinality=36.00K
| | | in pipelines: 15(GETNEXT)
| | |
| | F11:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -3291,7 +3291,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | 22:AGGREGATE [STREAMING]
| | | group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=89 row-size=12B cardinality=18.00K
+| | | tuple-ids=89 row-size=12B cardinality=36.00K
| | | in pipelines: 15(GETNEXT)
| | |
| | 19:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3402,8 +3402,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | | in pipelines: 99(GETNEXT), 10(OPEN)
| | |
| | 98:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-| | | mem-estimate=118.31KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=88 row-size=12B cardinality=18.00K
+| | | mem-estimate=258.94KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=88 row-size=12B cardinality=54.00K
| | | in pipelines: 10(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -3411,7 +3411,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | 20:AGGREGATE [STREAMING]
| | | group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=88 row-size=12B cardinality=18.00K
+| | | tuple-ids=88 row-size=12B cardinality=54.00K
| | | in pipelines: 10(GETNEXT)
| | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3501,8 +3501,8 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| | in pipelines: 95(GETNEXT), 04(OPEN)
| |
| 94:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-| | mem-estimate=166.31KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | mem-estimate=517.88KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=12B cardinality=108.00K
| | in pipelines: 04(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -3510,7 +3510,7 @@ Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reser
| 09:AGGREGATE [STREAMING]
| | group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=7 row-size=12B cardinality=18.00K
+| | tuple-ids=7 row-size=12B cardinality=108.00K
| | in pipelines: 04(GETNEXT)
| |
| 08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q15.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q15.test
index d16d63f1d..3a17d41b4 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q15.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q15.test
@@ -134,7 +134,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(ca_zip)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.23MB mem-reservation=1.94MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: ca_zip ASC
| mem-estimate=3.22KB mem-reservation=0B thread-reservation=0
@@ -149,8 +149,8 @@ Per-Host Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reservati
| in pipelines: 15(GETNEXT), 00(OPEN)
|
14:EXCHANGE [HASH(ca_zip)]
-| mem-estimate=153.55KB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=33B cardinality=3.96K
+| mem-estimate=238.65KB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=33B cardinality=11.88K
| in pipelines: 00(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(c_current_addr_sk)] hosts=3 instances=3
@@ -159,7 +159,7 @@ Per-Host Resources: mem-estimate=17.21MB mem-reservation=5.88MB thread-reservati
| output: sum(cs_sales_price)
| group by: ca_zip
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=4 row-size=33B cardinality=3.96K
+| tuple-ids=4 row-size=33B cardinality=11.88K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -283,7 +283,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(ca_zip)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.23MB mem-reservation=1.94MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: ca_zip ASC
| mem-estimate=3.22KB mem-reservation=0B thread-reservation=0
@@ -298,8 +298,8 @@ Per-Instance Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reser
| in pipelines: 15(GETNEXT), 00(OPEN)
|
14:EXCHANGE [HASH(ca_zip)]
-| mem-estimate=153.55KB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=33B cardinality=3.96K
+| mem-estimate=238.65KB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=33B cardinality=11.88K
| in pipelines: 00(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(c_current_addr_sk)] hosts=3 instances=3
@@ -308,7 +308,7 @@ Per-Instance Resources: mem-estimate=12.06MB mem-reservation=2.00MB thread-reser
| output: sum(cs_sales_price)
| group by: ca_zip
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=4 row-size=33B cardinality=3.96K
+| tuple-ids=4 row-size=33B cardinality=11.88K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, PARTITIONED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q18.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q18.test
index 28eab251c..c7f99f772 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q18.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q18.test
@@ -206,7 +206,7 @@ PLAN-ROOT SINK
tuple-ids=2 row-size=4B cardinality=28.95K(filtered from 1.92M)
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=168.00MB Threads=18
+Max Per-Host Resource Reservation: Memory=171.75MB Threads=18
Per-Host Resource Estimates: Memory=876MB
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
@@ -222,7 +222,7 @@ PLAN-ROOT SINK
| in pipelines: 15(GETNEXT)
|
F09:PLAN FRAGMENT [HASH(CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(i_item_id) WHEN 11 THEN murmur_hash(i_item_id) WHEN 13 THEN murmur_hash(i_item_id) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_country) WHEN 9 THEN murmur_hash(ca_country) WHEN 11 THEN murmur_hash(ca_country) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_st [...]
-Per-Host Resources: mem-estimate=61.94MB mem-reservation=29.44MB thread-reservation=1
+Per-Host Resources: mem-estimate=61.94MB mem-reservation=33.19MB thread-reservation=1
15:TOP-N [LIMIT=100]
| order by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN [...]
| mem-estimate=10.16KB mem-reservation=0B thread-reservation=0
@@ -252,13 +252,13 @@ Per-Host Resources: mem-estimate=61.94MB mem-reservation=29.44MB thread-reservat
| Class 4
| output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2)))
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=24.69MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=28.44MB thread-reservation=0
| tuple-ids=8N,10N,12N,14N,16N row-size=641B cardinality=75.61K
| in pipelines: 25(GETNEXT), 00(OPEN)
|
24:EXCHANGE [HASH(CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(i_item_id) WHEN 11 THEN murmur_hash(i_item_id) WHEN 13 THEN murmur_hash(i_item_id) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_country) WHEN 9 THEN murmur_hash(ca_country) WHEN 11 THEN murmur_hash(ca_country) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_state) W [...]
| mem-estimate=11.94MB mem-reservation=0B thread-reservation=0
-| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=75.61K
+| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=93.17K
| in pipelines: 00(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(c_current_cdemo_sk)] hosts=3 instances=3
@@ -280,7 +280,7 @@ Per-Host Resources: mem-estimate=99.17MB mem-reservation=76.94MB thread-reservat
| output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2)))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=50.00MB mem-reservation=38.00MB thread-reservation=0
-| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=75.61K
+| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=93.17K
| in pipelines: 00(GETNEXT)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
@@ -471,7 +471,7 @@ Per-Host Resources: mem-estimate=399.42MB mem-reservation=29.62MB thread-reserva
tuple-ids=0 row-size=40B cardinality=294.63K(filtered from 1.44M)
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=180.56MB Threads=17
+Max Per-Host Resource Reservation: Memory=184.31MB Threads=17
Per-Host Resource Estimates: Memory=372MB
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
@@ -487,7 +487,7 @@ PLAN-ROOT SINK
| in pipelines: 15(GETNEXT)
|
F09:PLAN FRAGMENT [HASH(CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(i_item_id) WHEN 11 THEN murmur_hash(i_item_id) WHEN 13 THEN murmur_hash(i_item_id) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_country) WHEN 9 THEN murmur_hash(ca_country) WHEN 11 THEN murmur_hash(ca_country) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_st [...]
-Per-Instance Resources: mem-estimate=61.94MB mem-reservation=29.44MB thread-reservation=1
+Per-Instance Resources: mem-estimate=61.94MB mem-reservation=33.19MB thread-reservation=1
15:TOP-N [LIMIT=100]
| order by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN [...]
| mem-estimate=10.16KB mem-reservation=0B thread-reservation=0
@@ -517,13 +517,13 @@ Per-Instance Resources: mem-estimate=61.94MB mem-reservation=29.44MB thread-rese
| Class 4
| output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2)))
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=24.69MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=28.44MB thread-reservation=0
| tuple-ids=8N,10N,12N,14N,16N row-size=641B cardinality=75.61K
| in pipelines: 25(GETNEXT), 00(OPEN)
|
24:EXCHANGE [HASH(CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(i_item_id) WHEN 11 THEN murmur_hash(i_item_id) WHEN 13 THEN murmur_hash(i_item_id) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_country) WHEN 9 THEN murmur_hash(ca_country) WHEN 11 THEN murmur_hash(ca_country) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_state) W [...]
| mem-estimate=11.94MB mem-reservation=0B thread-reservation=0
-| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=75.61K
+| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=93.17K
| in pipelines: 00(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(c_current_cdemo_sk)] hosts=3 instances=3
@@ -545,7 +545,7 @@ Per-Instance Resources: mem-estimate=59.98MB mem-reservation=38.00MB thread-rese
| output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2)))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=50.00MB mem-reservation=38.00MB thread-reservation=0
-| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=75.61K
+| tuple-ids=7N,9N,11N,13N,15N row-size=641B cardinality=93.17K
| in pipelines: 00(GETNEXT)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q20.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q20.test
index 95b958738..95dc9565e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q20.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q20.test
@@ -116,7 +116,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=16B cardinality=433.07K(filtered from 1.44M)
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=74.69MB Threads=8
+Max Per-Host Resource Reservation: Memory=76.56MB Threads=8
Per-Host Resource Estimates: Memory=346MB
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.07MB mem-reservation=4.00MB thread-reservation=1
@@ -132,7 +132,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(i_class)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservation=1
+Per-Host Resources: mem-estimate=26.00MB mem-reservation=20.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(cs_ext_sales_price) * 100.0000 / sum(sum(cs_ext_sales_price)) ASC
| mem-estimate=20.91KB mem-reservation=0B thread-reservation=0
@@ -155,13 +155,13 @@ Per-Host Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservat
12:AGGREGATE [FINALIZE]
| output: sum:merge(cs_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
-| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=3 row-size=198B cardinality=18.00K
| in pipelines: 12(GETNEXT), 00(OPEN)
|
11:EXCHANGE [HASH(i_class)]
-| mem-estimate=1.73MB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| mem-estimate=3.99MB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=198B cardinality=53.98K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -170,7 +170,7 @@ Per-Host Resources: mem-estimate=187.18MB mem-reservation=48.81MB thread-reserva
| output: sum(cs_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| tuple-ids=3 row-size=198B cardinality=53.98K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -240,7 +240,7 @@ Per-Host Resources: mem-estimate=187.18MB mem-reservation=48.81MB thread-reserva
tuple-ids=0 row-size=16B cardinality=433.07K(filtered from 1.44M)
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=81.50MB Threads=7
+Max Per-Host Resource Reservation: Memory=83.38MB Threads=7
Per-Host Resource Estimates: Memory=162MB
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.07MB mem-reservation=4.00MB thread-reservation=1
@@ -256,7 +256,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(i_class)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-reservation=1
+Per-Instance Resources: mem-estimate=26.00MB mem-reservation=20.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(cs_ext_sales_price) * 100.0000 / sum(sum(cs_ext_sales_price)) ASC
| mem-estimate=20.91KB mem-reservation=0B thread-reservation=0
@@ -279,13 +279,13 @@ Per-Instance Resources: mem-estimate=26.00MB mem-reservation=18.88MB thread-rese
12:AGGREGATE [FINALIZE]
| output: sum:merge(cs_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
-| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=3 row-size=198B cardinality=18.00K
| in pipelines: 12(GETNEXT), 00(OPEN)
|
11:EXCHANGE [HASH(i_class)]
-| mem-estimate=1.73MB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| mem-estimate=3.99MB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=198B cardinality=53.98K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -295,7 +295,7 @@ Per-Instance Resources: mem-estimate=84.37MB mem-reservation=42.00MB thread-rese
| output: sum(cs_ext_sales_price)
| group by: i_item_id, i_item_desc, i_category, i_class, i_current_price
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=3 row-size=198B cardinality=18.00K
+| tuple-ids=3 row-size=198B cardinality=53.98K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q21.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q21.test
index cfb741524..4f16db581 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q21.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q21.test
@@ -125,7 +125,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=38.20MB Threads=10
-Per-Host Resource Estimates: Memory=275MB
+Per-Host Resource Estimates: Memory=277MB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -140,7 +140,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,i_item_id)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=11.39MB mem-reservation=2.88MB thread-reservation=1
+Per-Host Resources: mem-estimate=12.63MB mem-reservation=2.88MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: w_warehouse_name ASC, i_item_id ASC
| mem-estimate=7.18KB mem-reservation=0B thread-reservation=0
@@ -156,8 +156,8 @@ Per-Host Resources: mem-estimate=11.39MB mem-reservation=2.88MB thread-reservati
| in pipelines: 13(GETNEXT), 00(OPEN)
|
12:EXCHANGE [HASH(w_warehouse_name,i_item_id)]
-| mem-estimate=1.39MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=74B cardinality=35.42K
+| mem-estimate=2.63MB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=74B cardinality=70.83K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -166,7 +166,7 @@ Per-Host Resources: mem-estimate=147.42MB mem-reservation=29.81MB thread-reserva
| output: sum(CAST(CASE WHEN (CAST(d_date AS DATE) < DATE '2000-03-11') THEN inv_quantity_on_hand ELSE CAST(0 AS INT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(d_date AS DATE) >= DATE '2000-03-11') THEN inv_quantity_on_hand ELSE CAST(0 AS INT) END AS BIGINT))
| group by: w_warehouse_name, i_item_id
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=4 row-size=74B cardinality=35.42K
+| tuple-ids=4 row-size=74B cardinality=70.83K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -262,7 +262,7 @@ Per-Host Resources: mem-estimate=147.42MB mem-reservation=29.81MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=47.02MB Threads=9
-Per-Host Resource Estimates: Memory=124MB
+Per-Host Resource Estimates: Memory=126MB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -277,7 +277,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,i_item_id)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=11.39MB mem-reservation=2.88MB thread-reservation=1
+Per-Instance Resources: mem-estimate=12.63MB mem-reservation=2.88MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: w_warehouse_name ASC, i_item_id ASC
| mem-estimate=7.18KB mem-reservation=0B thread-reservation=0
@@ -293,8 +293,8 @@ Per-Instance Resources: mem-estimate=11.39MB mem-reservation=2.88MB thread-reser
| in pipelines: 13(GETNEXT), 00(OPEN)
|
12:EXCHANGE [HASH(w_warehouse_name,i_item_id)]
-| mem-estimate=1.39MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=74B cardinality=35.42K
+| mem-estimate=2.63MB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=74B cardinality=70.83K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -304,7 +304,7 @@ Per-Instance Resources: mem-estimate=42.61MB mem-reservation=21.00MB thread-rese
| output: sum(CAST(CASE WHEN (CAST(d_date AS DATE) < DATE '2000-03-11') THEN inv_quantity_on_hand ELSE CAST(0 AS INT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(d_date AS DATE) >= DATE '2000-03-11') THEN inv_quantity_on_hand ELSE CAST(0 AS INT) END AS BIGINT))
| group by: w_warehouse_name, i_item_id
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=4 row-size=74B cardinality=35.42K
+| tuple-ids=4 row-size=74B cardinality=70.83K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q22.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q22.test
index 52c958dc8..44da7ffcb 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q22.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q22.test
@@ -128,7 +128,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=171.82MB Threads=10
+Max Per-Host Resource Reservation: Memory=186.82MB Threads=10
Per-Host Resource Estimates: Memory=2.97GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -144,7 +144,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Host Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -174,13 +174,13 @@ Per-Host Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservat
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -202,7 +202,7 @@ Per-Host Resources: mem-estimate=2.78GB mem-reservation=140.62MB thread-reservat
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=2.64GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -294,7 +294,7 @@ Per-Host Resources: mem-estimate=2.78GB mem-reservation=140.62MB thread-reservat
tuple-ids=0 row-size=20B cardinality=11.74M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=183.45MB Threads=9
+Max Per-Host Resource Reservation: Memory=198.45MB Threads=9
Per-Host Resource Estimates: Memory=2.81GB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -310,7 +310,7 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash [...]
-Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-reservation=1
+Per-Instance Resources: mem-estimate=60.86MB mem-reservation=40.69MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 [...]
| mem-estimate=5.47KB mem-reservation=0B thread-reservation=0
@@ -340,13 +340,13 @@ Per-Instance Resources: mem-estimate=60.86MB mem-reservation=25.69MB thread-rese
| Class 4
| output: avg:merge(inv_quantity_on_hand)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=50.00MB mem-reservation=20.94MB thread-reservation=0
+| mem-estimate=50.00MB mem-reservation=35.94MB thread-reservation=0
| tuple-ids=5N,7N,9N,11N,13N row-size=422B cardinality=72.00K
| in pipelines: 14(GETNEXT), 00(OPEN)
|
13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_cla [...]
| mem-estimate=10.86MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -369,7 +369,7 @@ Per-Instance Resources: mem-estimate=2.68GB mem-reservation=129.00MB thread-rese
| output: avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: NULL, NULL, NULL, NULL
| mem-estimate=2.64GB mem-reservation=113.00MB thread-reservation=0
-| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=72.00K
+| tuple-ids=4N,6N,8N,10N,12N row-size=422B cardinality=144.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23a.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23a.test
index 84c4e6a8a..a6a17f189 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23a.test
@@ -507,8 +507,8 @@ PLAN-ROOT SINK
tuple-ids=8 row-size=12B cardinality=2.88M
in pipelines: 09(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=266.38MB Threads=50
-Per-Host Resource Estimates: Memory=1.34GB
+Max Per-Host Resource Reservation: Memory=268.25MB Threads=50
+Per-Host Resource Estimates: Memory=1.35GB
F31:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
@@ -524,15 +524,15 @@ PLAN-ROOT SINK
|
88:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=46 row-size=16B cardinality=1
+| tuple-ids=46 row-size=16B cardinality=3
| in pipelines: 49(GETNEXT)
|
F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=2.00MB
+Per-Host Resources: mem-estimate=17.99MB mem-reservation=9.62MB thread-reservation=1 runtime-filters-memory=2.00MB
49:AGGREGATE
| output: sum(sales)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=46 row-size=16B cardinality=1
+| tuple-ids=46 row-size=16B cardinality=3
| in pipelines: 49(GETNEXT), 52(OPEN), 71(OPEN)
|
00:UNION
@@ -567,7 +567,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | | in pipelines: 85(GETNEXT)
| | | |
| | | F29:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=10.08MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservation=1
| | | 85:AGGREGATE [FINALIZE]
| | | | group by: i_item_sk
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -575,8 +575,8 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | | in pipelines: 85(GETNEXT), 83(OPEN)
| | | |
| | | 84:EXCHANGE [HASH(i_item_sk)]
-| | | | mem-estimate=82.81KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=68 row-size=8B cardinality=17.98K
+| | | | mem-estimate=174.65KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=68 row-size=8B cardinality=53.24K
| | | | in pipelines: 83(GETNEXT)
| | | |
| | | F28:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=3
@@ -584,7 +584,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | 46:AGGREGATE [STREAMING]
| | | | group by: i_item_sk
| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | | tuple-ids=68 row-size=8B cardinality=17.98K
+| | | | tuple-ids=68 row-size=8B cardinality=53.24K
| | | | in pipelines: 83(GETNEXT)
| | | |
| | | 83:AGGREGATE [FINALIZE]
@@ -734,15 +734,15 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | |
| | 76:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=39 row-size=16B cardinality=1
+| | | tuple-ids=39 row-size=16B cardinality=3
| | | in pipelines: 43(GETNEXT)
| | |
| | F21:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=10.71MB mem-reservation=2.88MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=11.98MB mem-reservation=2.88MB thread-reservation=1
| | 43:AGGREGATE
| | | output: max(sum(ss_quantity * ss_sales_price))
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=39 row-size=16B cardinality=1
+| | | tuple-ids=39 row-size=16B cardinality=3
| | | in pipelines: 43(GETNEXT), 75(OPEN)
| | |
| | 75:AGGREGATE [FINALIZE]
@@ -753,8 +753,8 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | in pipelines: 75(GETNEXT), 37(OPEN)
| | |
| | 74:EXCHANGE [HASH(c_customer_sk)]
-| | | mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=37 row-size=20B cardinality=100.00K
+| | | mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=37 row-size=20B cardinality=299.88K
| | | in pipelines: 37(GETNEXT)
| | |
| | F18:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -763,7 +763,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | group by: c_customer_sk
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=37 row-size=20B cardinality=100.00K
+| | | tuple-ids=37 row-size=20B cardinality=299.88K
| | | in pipelines: 37(GETNEXT)
| | |
| | 41:HASH JOIN [INNER JOIN, BROADCAST]
@@ -834,13 +834,13 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| 71:AGGREGATE [FINALIZE]
| | output: sum:merge(ss_quantity * ss_sales_price)
| | group by: c_customer_sk
-| | mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | tuple-ids=32 row-size=20B cardinality=100.00K
| | in pipelines: 71(GETNEXT), 33(OPEN)
| |
| 70:EXCHANGE [HASH(c_customer_sk)]
-| | mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=100.00K
+| | mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=299.98K
| | in pipelines: 33(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -849,7 +849,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | group by: c_customer_sk
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=100.00K
+| | tuple-ids=32 row-size=20B cardinality=299.98K
| | in pipelines: 33(GETNEXT)
| |
| 35:HASH JOIN [INNER JOIN, BROADCAST]
@@ -917,7 +917,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | in pipelines: 66(GETNEXT)
| | |
| | F14:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=10.08MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservation=1
| | 66:AGGREGATE [FINALIZE]
| | | group by: i_item_sk
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -925,8 +925,8 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | | in pipelines: 66(GETNEXT), 64(OPEN)
| | |
| | 65:EXCHANGE [HASH(i_item_sk)]
-| | | mem-estimate=82.81KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=57 row-size=8B cardinality=17.98K
+| | | mem-estimate=174.65KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=57 row-size=8B cardinality=53.24K
| | | in pipelines: 64(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=3
@@ -934,7 +934,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | 22:AGGREGATE [STREAMING]
| | | group by: i_item_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=57 row-size=8B cardinality=17.98K
+| | | tuple-ids=57 row-size=8B cardinality=53.24K
| | | in pipelines: 64(GETNEXT)
| | |
| | 64:AGGREGATE [FINALIZE]
@@ -1084,15 +1084,15 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| |
| 57:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=17 row-size=16B cardinality=1
+| | tuple-ids=17 row-size=16B cardinality=3
| | in pipelines: 19(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.71MB mem-reservation=2.88MB thread-reservation=1
+| Per-Host Resources: mem-estimate=11.98MB mem-reservation=2.88MB thread-reservation=1
| 19:AGGREGATE
| | output: max(sum(ss_quantity * ss_sales_price))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=17 row-size=16B cardinality=1
+| | tuple-ids=17 row-size=16B cardinality=3
| | in pipelines: 19(GETNEXT), 56(OPEN)
| |
| 56:AGGREGATE [FINALIZE]
@@ -1103,8 +1103,8 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | in pipelines: 56(GETNEXT), 13(OPEN)
| |
| 55:EXCHANGE [HASH(c_customer_sk)]
-| | mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=20B cardinality=100.00K
+| | mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=15 row-size=20B cardinality=299.88K
| | in pipelines: 13(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1113,7 +1113,7 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
| | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | group by: c_customer_sk
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=15 row-size=20B cardinality=100.00K
+| | tuple-ids=15 row-size=20B cardinality=299.88K
| | in pipelines: 13(GETNEXT)
| |
| 17:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1184,13 +1184,13 @@ Per-Host Resources: mem-estimate=16.72MB mem-reservation=7.75MB thread-reservati
52:AGGREGATE [FINALIZE]
| output: sum:merge(ss_quantity * ss_sales_price)
| group by: c_customer_sk
-| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=10 row-size=20B cardinality=100.00K
| in pipelines: 52(GETNEXT), 09(OPEN)
|
51:EXCHANGE [HASH(c_customer_sk)]
-| mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| tuple-ids=10 row-size=20B cardinality=100.00K
+| mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| tuple-ids=10 row-size=20B cardinality=299.98K
| in pipelines: 09(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1199,7 +1199,7 @@ Per-Host Resources: mem-estimate=65.14MB mem-reservation=12.75MB thread-reservat
| output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| group by: c_customer_sk
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=10 row-size=20B cardinality=100.00K
+| tuple-ids=10 row-size=20B cardinality=299.98K
| in pipelines: 09(GETNEXT)
|
11:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1240,8 +1240,8 @@ Per-Host Resources: mem-estimate=65.14MB mem-reservation=12.75MB thread-reservat
tuple-ids=8 row-size=12B cardinality=2.88M
in pipelines: 09(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=497.12MB Threads=63
-Per-Host Resource Estimates: Memory=1.12GB
+Max Per-Host Resource Reservation: Memory=502.75MB Threads=63
+Per-Host Resource Estimates: Memory=1.14GB
F31:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=32.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
@@ -1257,15 +1257,15 @@ PLAN-ROOT SINK
|
88:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=46 row-size=16B cardinality=1
+| tuple-ids=46 row-size=16B cardinality=6
| in pipelines: 49(GETNEXT)
|
F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=13.94MB mem-reservation=4.75MB thread-reservation=1
49:AGGREGATE
| output: sum(sales)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=46 row-size=16B cardinality=1
+| tuple-ids=46 row-size=16B cardinality=6
| in pipelines: 49(GETNEXT), 52(OPEN), 71(OPEN)
|
00:UNION
@@ -1317,7 +1317,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 85(GETNEXT)
| | | |
| | | F29:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6
-| | | Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=10.31MB mem-reservation=1.94MB thread-reservation=1
| | | 85:AGGREGATE [FINALIZE]
| | | | group by: i_item_sk
| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1325,8 +1325,8 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 85(GETNEXT), 83(OPEN)
| | | |
| | | 84:EXCHANGE [HASH(i_item_sk)]
-| | | | mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=68 row-size=8B cardinality=17.98K
+| | | | mem-estimate=321.22KB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=68 row-size=8B cardinality=95.70K
| | | | in pipelines: 83(GETNEXT)
| | | |
| | | F28:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=6
@@ -1334,7 +1334,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | 46:AGGREGATE [STREAMING]
| | | | group by: i_item_sk
| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | | tuple-ids=68 row-size=8B cardinality=17.98K
+| | | | tuple-ids=68 row-size=8B cardinality=95.70K
| | | | in pipelines: 83(GETNEXT)
| | | |
| | | 83:AGGREGATE [FINALIZE]
@@ -1516,15 +1516,15 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | |
| | 76:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=39 row-size=16B cardinality=1
+| | | tuple-ids=39 row-size=16B cardinality=6
| | | in pipelines: 43(GETNEXT)
| | |
| | F21:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=10.78MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=13.88MB mem-reservation=1.94MB thread-reservation=1
| | 43:AGGREGATE
| | | output: max(sum(ss_quantity * ss_sales_price))
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=39 row-size=16B cardinality=1
+| | | tuple-ids=39 row-size=16B cardinality=6
| | | in pipelines: 43(GETNEXT), 75(OPEN)
| | |
| | 75:AGGREGATE [FINALIZE]
@@ -1535,8 +1535,8 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | in pipelines: 75(GETNEXT), 37(OPEN)
| | |
| | 74:EXCHANGE [HASH(c_customer_sk)]
-| | | mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=37 row-size=20B cardinality=100.00K
+| | | mem-estimate=3.88MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=37 row-size=20B cardinality=588.15K
| | | in pipelines: 37(GETNEXT)
| | |
| | F18:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1546,7 +1546,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | group by: c_customer_sk
| | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=37 row-size=20B cardinality=100.00K
+| | | tuple-ids=37 row-size=20B cardinality=588.15K
| | | in pipelines: 37(GETNEXT)
| | |
| | 41:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1633,13 +1633,13 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| 71:AGGREGATE [FINALIZE]
| | output: sum:merge(ss_quantity * ss_sales_price)
| | group by: c_customer_sk
-| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | tuple-ids=32 row-size=20B cardinality=100.00K
| | in pipelines: 71(GETNEXT), 33(OPEN)
| |
| 70:EXCHANGE [HASH(c_customer_sk)]
-| | mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=100.00K
+| | mem-estimate=3.92MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=595.07K
| | in pipelines: 33(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1649,7 +1649,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | group by: c_customer_sk
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=100.00K
+| | tuple-ids=32 row-size=20B cardinality=595.07K
| | in pipelines: 33(GETNEXT)
| |
| 35:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1743,7 +1743,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | in pipelines: 66(GETNEXT)
| | |
| | F14:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=10.31MB mem-reservation=1.94MB thread-reservation=1
| | 66:AGGREGATE [FINALIZE]
| | | group by: i_item_sk
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
@@ -1751,8 +1751,8 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | | in pipelines: 66(GETNEXT), 64(OPEN)
| | |
| | 65:EXCHANGE [HASH(i_item_sk)]
-| | | mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=57 row-size=8B cardinality=17.98K
+| | | mem-estimate=321.22KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=57 row-size=8B cardinality=95.70K
| | | in pipelines: 64(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=6
@@ -1760,7 +1760,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | 22:AGGREGATE [STREAMING]
| | | group by: i_item_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=57 row-size=8B cardinality=17.98K
+| | | tuple-ids=57 row-size=8B cardinality=95.70K
| | | in pipelines: 64(GETNEXT)
| | |
| | 64:AGGREGATE [FINALIZE]
@@ -1942,15 +1942,15 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| |
| 57:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=17 row-size=16B cardinality=1
+| | tuple-ids=17 row-size=16B cardinality=6
| | in pipelines: 19(GETNEXT)
| |
| F06:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.78MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=13.88MB mem-reservation=1.94MB thread-reservation=1
| 19:AGGREGATE
| | output: max(sum(ss_quantity * ss_sales_price))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=17 row-size=16B cardinality=1
+| | tuple-ids=17 row-size=16B cardinality=6
| | in pipelines: 19(GETNEXT), 56(OPEN)
| |
| 56:AGGREGATE [FINALIZE]
@@ -1961,8 +1961,8 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | in pipelines: 56(GETNEXT), 13(OPEN)
| |
| 55:EXCHANGE [HASH(c_customer_sk)]
-| | mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=20B cardinality=100.00K
+| | mem-estimate=3.88MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=15 row-size=20B cardinality=588.15K
| | in pipelines: 13(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1972,7 +1972,7 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
| | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | group by: c_customer_sk
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=15 row-size=20B cardinality=100.00K
+| | tuple-ids=15 row-size=20B cardinality=588.15K
| | in pipelines: 13(GETNEXT)
| |
| 17:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2059,13 +2059,13 @@ Per-Instance Resources: mem-estimate=10.79MB mem-reservation=1.94MB thread-reser
52:AGGREGATE [FINALIZE]
| output: sum:merge(ss_quantity * ss_sales_price)
| group by: c_customer_sk
-| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=10 row-size=20B cardinality=100.00K
| in pipelines: 52(GETNEXT), 09(OPEN)
|
51:EXCHANGE [HASH(c_customer_sk)]
-| mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| tuple-ids=10 row-size=20B cardinality=100.00K
+| mem-estimate=3.92MB mem-reservation=0B thread-reservation=0
+| tuple-ids=10 row-size=20B cardinality=595.07K
| in pipelines: 09(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2075,7 +2075,7 @@ Per-Instance Resources: mem-estimate=26.56MB mem-reservation=6.00MB thread-reser
| output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| group by: c_customer_sk
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=10 row-size=20B cardinality=100.00K
+| tuple-ids=10 row-size=20B cardinality=595.07K
| in pipelines: 09(GETNEXT)
|
11:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23b.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23b.test
index dfbe2a753..9818fd37b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q23b.test
@@ -695,7 +695,7 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | in pipelines: 89(GETNEXT)
| | | |
| | | F30:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=11.26MB mem-reservation=2.88MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=13.55MB mem-reservation=2.88MB thread-reservation=1
| | | 89:AGGREGATE [FINALIZE]
| | | | output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
| | | | group by: c_customer_sk
@@ -705,8 +705,8 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | in pipelines: 89(GETNEXT), 36(OPEN)
| | | |
| | | 88:EXCHANGE [HASH(c_customer_sk)]
-| | | | mem-estimate=1.26MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=39 row-size=36B cardinality=100.00K
+| | | | mem-estimate=3.55MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=39 row-size=36B cardinality=299.98K
| | | | in pipelines: 36(GETNEXT)
| | | |
| | | F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -715,7 +715,7 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
| | | | group by: c_customer_sk
| | | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | | | tuple-ids=39 row-size=36B cardinality=100.00K
+| | | | tuple-ids=39 row-size=36B cardinality=299.98K
| | | | in pipelines: 36(GETNEXT)
| | | |
| | | 46:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
@@ -738,15 +738,15 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | |
| | | | 85:EXCHANGE [UNPARTITIONED]
| | | | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | | | tuple-ids=37 row-size=16B cardinality=1
+| | | | | tuple-ids=37 row-size=16B cardinality=3
| | | | | in pipelines: 44(GETNEXT)
| | | | |
| | | | F28:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| | | | Per-Host Resources: mem-estimate=10.71MB mem-reservation=2.88MB thread-reservation=1
+| | | | Per-Host Resources: mem-estimate=11.98MB mem-reservation=2.88MB thread-reservation=1
| | | | 44:AGGREGATE
| | | | | output: max(sum(ss_quantity * ss_sales_price))
| | | | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | | | tuple-ids=37 row-size=16B cardinality=1
+| | | | | tuple-ids=37 row-size=16B cardinality=3
| | | | | in pipelines: 44(GETNEXT), 84(OPEN)
| | | | |
| | | | 84:AGGREGATE [FINALIZE]
@@ -757,8 +757,8 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | | in pipelines: 84(GETNEXT), 38(OPEN)
| | | | |
| | | | 83:EXCHANGE [HASH(c_customer_sk)]
-| | | | | mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| | | | | tuple-ids=35 row-size=20B cardinality=100.00K
+| | | | | mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| | | | | tuple-ids=35 row-size=20B cardinality=299.88K
| | | | | in pipelines: 38(GETNEXT)
| | | | |
| | | | F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -767,7 +767,7 @@ Per-Host Resources: mem-estimate=10.34MB mem-reservation=1.94MB thread-reservati
| | | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | | | group by: c_customer_sk
| | | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | | tuple-ids=35 row-size=20B cardinality=100.00K
+| | | | | tuple-ids=35 row-size=20B cardinality=299.88K
| | | | | in pipelines: 38(GETNEXT)
| | | | |
| | | | 42:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1082,7 +1082,7 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | in pipelines: 68(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=11.26MB mem-reservation=2.88MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=13.55MB mem-reservation=2.88MB thread-reservation=1
| | 68:AGGREGATE [FINALIZE]
| | | output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
| | | group by: c_customer_sk
@@ -1092,8 +1092,8 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | in pipelines: 68(GETNEXT), 10(OPEN)
| | |
| | 67:EXCHANGE [HASH(c_customer_sk)]
-| | | mem-estimate=1.26MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=18 row-size=36B cardinality=100.00K
+| | | mem-estimate=3.55MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=18 row-size=36B cardinality=299.98K
| | | in pipelines: 10(GETNEXT)
| | |
| | F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1102,7 +1102,7 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
| | | group by: c_customer_sk
| | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | | tuple-ids=18 row-size=36B cardinality=100.00K
+| | | tuple-ids=18 row-size=36B cardinality=299.98K
| | | in pipelines: 10(GETNEXT)
| | |
| | 20:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
@@ -1125,15 +1125,15 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | |
| | | 64:EXCHANGE [UNPARTITIONED]
| | | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=16 row-size=16B cardinality=1
+| | | | tuple-ids=16 row-size=16B cardinality=3
| | | | in pipelines: 18(GETNEXT)
| | | |
| | | F11:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=3
-| | | Per-Host Resources: mem-estimate=10.71MB mem-reservation=2.88MB thread-reservation=1
+| | | Per-Host Resources: mem-estimate=11.98MB mem-reservation=2.88MB thread-reservation=1
| | | 18:AGGREGATE
| | | | output: max(sum(ss_quantity * ss_sales_price))
| | | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=16 row-size=16B cardinality=1
+| | | | tuple-ids=16 row-size=16B cardinality=3
| | | | in pipelines: 18(GETNEXT), 63(OPEN)
| | | |
| | | 63:AGGREGATE [FINALIZE]
@@ -1144,8 +1144,8 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | | in pipelines: 63(GETNEXT), 12(OPEN)
| | | |
| | | 62:EXCHANGE [HASH(c_customer_sk)]
-| | | | mem-estimate=723.04KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=14 row-size=20B cardinality=100.00K
+| | | | mem-estimate=1.98MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=14 row-size=20B cardinality=299.88K
| | | | in pipelines: 12(GETNEXT)
| | | |
| | | F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1154,7 +1154,7 @@ Per-Host Resources: mem-estimate=71.94MB mem-reservation=39.88MB thread-reservat
| | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | | group by: c_customer_sk
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=14 row-size=20B cardinality=100.00K
+| | | | tuple-ids=14 row-size=20B cardinality=299.88K
| | | | in pipelines: 12(GETNEXT)
| | | |
| | | 16:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1388,7 +1388,7 @@ Per-Host Resources: mem-estimate=61.76MB mem-reservation=43.19MB thread-reservat
in pipelines: 04(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=530.38MB Threads=67
-Per-Host Resource Estimates: Memory=1.18GB
+Per-Host Resource Estimates: Memory=1.21GB
F35:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -1523,7 +1523,7 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 89(GETNEXT)
| | | |
| | | F30:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| | | Per-Instance Resources: mem-estimate=11.38MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=17.04MB mem-reservation=1.94MB thread-reservation=1
| | | 89:AGGREGATE [FINALIZE]
| | | | output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
| | | | group by: c_customer_sk
@@ -1533,8 +1533,8 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | in pipelines: 89(GETNEXT), 36(OPEN)
| | | |
| | | 88:EXCHANGE [HASH(c_customer_sk)]
-| | | | mem-estimate=1.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=39 row-size=36B cardinality=100.00K
+| | | | mem-estimate=7.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=39 row-size=36B cardinality=595.07K
| | | | in pipelines: 36(GETNEXT)
| | | |
| | | F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1543,7 +1543,7 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
| | | | group by: c_customer_sk
| | | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | | | tuple-ids=39 row-size=36B cardinality=100.00K
+| | | | tuple-ids=39 row-size=36B cardinality=595.07K
| | | | in pipelines: 36(GETNEXT)
| | | |
| | | 46:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
@@ -1573,15 +1573,15 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | |
| | | | 85:EXCHANGE [UNPARTITIONED]
| | | | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | | | tuple-ids=37 row-size=16B cardinality=1
+| | | | | tuple-ids=37 row-size=16B cardinality=6
| | | | | in pipelines: 44(GETNEXT)
| | | | |
| | | | F28:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| | | | Per-Instance Resources: mem-estimate=10.78MB mem-reservation=1.94MB thread-reservation=1
+| | | | Per-Instance Resources: mem-estimate=13.88MB mem-reservation=1.94MB thread-reservation=1
| | | | 44:AGGREGATE
| | | | | output: max(sum(ss_quantity * ss_sales_price))
| | | | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | | | tuple-ids=37 row-size=16B cardinality=1
+| | | | | tuple-ids=37 row-size=16B cardinality=6
| | | | | in pipelines: 44(GETNEXT), 84(OPEN)
| | | | |
| | | | 84:AGGREGATE [FINALIZE]
@@ -1592,8 +1592,8 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | | in pipelines: 84(GETNEXT), 38(OPEN)
| | | | |
| | | | 83:EXCHANGE [HASH(c_customer_sk)]
-| | | | | mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| | | | | tuple-ids=35 row-size=20B cardinality=100.00K
+| | | | | mem-estimate=3.88MB mem-reservation=0B thread-reservation=0
+| | | | | tuple-ids=35 row-size=20B cardinality=588.15K
| | | | | in pipelines: 38(GETNEXT)
| | | | |
| | | | F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1603,7 +1603,7 @@ Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reser
| | | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | | | group by: c_customer_sk
| | | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | | tuple-ids=35 row-size=20B cardinality=100.00K
+| | | | | tuple-ids=35 row-size=20B cardinality=588.15K
| | | | | in pipelines: 38(GETNEXT)
| | | | |
| | | | 42:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1993,7 +1993,7 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | in pipelines: 68(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| | Per-Instance Resources: mem-estimate=11.38MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=17.04MB mem-reservation=1.94MB thread-reservation=1
| | 68:AGGREGATE [FINALIZE]
| | | output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
| | | group by: c_customer_sk
@@ -2003,8 +2003,8 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | in pipelines: 68(GETNEXT), 10(OPEN)
| | |
| | 67:EXCHANGE [HASH(c_customer_sk)]
-| | | mem-estimate=1.38MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=18 row-size=36B cardinality=100.00K
+| | | mem-estimate=7.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=18 row-size=36B cardinality=595.07K
| | | in pipelines: 10(GETNEXT)
| | |
| | F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2013,7 +2013,7 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
| | | group by: c_customer_sk
| | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | | tuple-ids=18 row-size=36B cardinality=100.00K
+| | | tuple-ids=18 row-size=36B cardinality=595.07K
| | | in pipelines: 10(GETNEXT)
| | |
| | 20:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
@@ -2043,15 +2043,15 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | |
| | | 64:EXCHANGE [UNPARTITIONED]
| | | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=16 row-size=16B cardinality=1
+| | | | tuple-ids=16 row-size=16B cardinality=6
| | | | in pipelines: 18(GETNEXT)
| | | |
| | | F11:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6
-| | | Per-Instance Resources: mem-estimate=10.78MB mem-reservation=1.94MB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=13.88MB mem-reservation=1.94MB thread-reservation=1
| | | 18:AGGREGATE
| | | | output: max(sum(ss_quantity * ss_sales_price))
| | | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=16 row-size=16B cardinality=1
+| | | | tuple-ids=16 row-size=16B cardinality=6
| | | | in pipelines: 18(GETNEXT), 63(OPEN)
| | | |
| | | 63:AGGREGATE [FINALIZE]
@@ -2062,8 +2062,8 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | | in pipelines: 63(GETNEXT), 12(OPEN)
| | | |
| | | 62:EXCHANGE [HASH(c_customer_sk)]
-| | | | mem-estimate=795.04KB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=14 row-size=20B cardinality=100.00K
+| | | | mem-estimate=3.88MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=14 row-size=20B cardinality=588.15K
| | | | in pipelines: 12(GETNEXT)
| | | |
| | | F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2073,7 +2073,7 @@ Per-Instance Resources: mem-estimate=54.32MB mem-reservation=36.00MB thread-rese
| | | | output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
| | | | group by: c_customer_sk
| | | | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | | | tuple-ids=14 row-size=20B cardinality=100.00K
+| | | | tuple-ids=14 row-size=20B cardinality=588.15K
| | | | in pipelines: 12(GETNEXT)
| | | |
| | | 16:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24a.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24a.test
index 6647fc34f..ef1745289 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24a.test
@@ -363,7 +363,7 @@ Per-Host Resources: mem-estimate=22.02MB mem-reservation=13.94MB thread-reservat
| |
| 47:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(c_last_name,c_first_name,s_store_name,ca_state,s_state,i_color,i_current_price,i_manager_id,i_units,i_size)] hosts=3 instances=3
@@ -371,7 +371,7 @@ Per-Host Resources: mem-estimate=22.02MB mem-reservation=13.94MB thread-reservat
| 25:AGGREGATE
| | output: avg(sum(ss_net_paid))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT), 46(OPEN)
| |
| 46:AGGREGATE [FINALIZE]
@@ -799,7 +799,7 @@ Per-Instance Resources: mem-estimate=22.00MB mem-reservation=13.94MB thread-rese
| |
| 47:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(c_last_name,c_first_name,s_store_name,ca_state,s_state,i_color,i_current_price,i_manager_id,i_units,i_size)] hosts=3 instances=6
@@ -807,7 +807,7 @@ Per-Instance Resources: mem-estimate=22.00MB mem-reservation=13.94MB thread-rese
| 25:AGGREGATE
| | output: avg(sum(ss_net_paid))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT), 46(OPEN)
| |
| 46:AGGREGATE [FINALIZE]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24b.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24b.test
index 81b198b2d..7d9278704 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q24b.test
@@ -363,7 +363,7 @@ Per-Host Resources: mem-estimate=22.02MB mem-reservation=13.94MB thread-reservat
| |
| 47:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(c_last_name,c_first_name,s_store_name,ca_state,s_state,i_color,i_current_price,i_manager_id,i_units,i_size)] hosts=3 instances=3
@@ -371,7 +371,7 @@ Per-Host Resources: mem-estimate=22.02MB mem-reservation=13.94MB thread-reservat
| 25:AGGREGATE
| | output: avg(sum(ss_net_paid))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT), 46(OPEN)
| |
| 46:AGGREGATE [FINALIZE]
@@ -799,7 +799,7 @@ Per-Instance Resources: mem-estimate=22.00MB mem-reservation=13.94MB thread-rese
| |
| 47:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(c_last_name,c_first_name,s_store_name,ca_state,s_state,i_color,i_current_price,i_manager_id,i_units,i_size)] hosts=3 instances=6
@@ -807,7 +807,7 @@ Per-Instance Resources: mem-estimate=22.00MB mem-reservation=13.94MB thread-rese
| 25:AGGREGATE
| | output: avg(sum(ss_net_paid))
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=18 row-size=16B cardinality=1
+| | tuple-ids=18 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT), 46(OPEN)
| |
| 46:AGGREGATE [FINALIZE]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q26.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q26.test
index 462e84ae2..a70065676 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q26.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q26.test
@@ -135,7 +135,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=50.53MB Threads=13
-Per-Host Resource Estimates: Memory=613MB
+Per-Host Resource Estimates: Memory=614MB
F07:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -150,7 +150,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(i_item_id)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.69MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=5.86KB mem-reservation=0B thread-reservation=0
@@ -165,8 +165,8 @@ Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservati
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=364.93KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| mem-estimate=710.38KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=60B cardinality=26.54K
| in pipelines: 00(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(cs_bill_cdemo_sk)] hosts=3 instances=3
@@ -175,7 +175,7 @@ Per-Host Resources: mem-estimate=31.42MB mem-reservation=13.62MB thread-reservat
| output: avg(CAST(cs_quantity AS BIGINT)), avg(cs_list_price), avg(cs_coupon_amt), avg(cs_sales_price)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| tuple-ids=5 row-size=60B cardinality=26.54K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -319,7 +319,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(i_item_id)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.69MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=5.86KB mem-reservation=0B thread-reservation=0
@@ -334,8 +334,8 @@ Per-Instance Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reser
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=364.93KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| mem-estimate=710.38KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=60B cardinality=26.54K
| in pipelines: 00(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(cs_bill_cdemo_sk)] hosts=3 instances=3
@@ -344,7 +344,7 @@ Per-Instance Resources: mem-estimate=15.02MB mem-reservation=2.00MB thread-reser
| output: avg(CAST(cs_quantity AS BIGINT)), avg(cs_list_price), avg(cs_coupon_amt), avg(cs_sales_price)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=60B cardinality=8.85K
+| tuple-ids=5 row-size=60B cardinality=26.54K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q27.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q27.test
index aa3058aca..90a70e27d 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q27.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q27.test
@@ -148,7 +148,7 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=36B cardinality=589.03K(filtered from 2.88M)
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=51.08MB Threads=12
+Max Per-Host Resource Reservation: Memory=52.95MB Threads=12
Per-Host Resource Estimates: Memory=370MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
@@ -164,7 +164,7 @@ PLAN-ROOT SINK
| in pipelines: 11(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(i_item_id) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(NULL) END,CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(s_state) WHEN 7 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) END)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservation=1
+Per-Host Resources: mem-estimate=40.00MB mem-reservation=9.62MB thread-reservation=1
11:TOP-N [LIMIT=100]
| order by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END ASC, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END ASC
| mem-estimate=5.57KB mem-reservation=0B thread-reservation=0
@@ -188,13 +188,13 @@ Per-Host Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservati
| Class 2
| output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price)
| group by: NULL, NULL
-| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| mem-estimate=30.00MB mem-reservation=7.69MB thread-reservation=0
| tuple-ids=6N,8N,10N row-size=202B cardinality=17.71K
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(i_item_id) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(NULL) END,CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(s_state) WHEN 7 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) END)]
-| mem-estimate=1.76MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5N,7N,9N row-size=202B cardinality=17.71K
+| mem-estimate=4.04MB mem-reservation=0B thread-reservation=0
+| tuple-ids=5N,7N,9N row-size=202B cardinality=53.13K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -210,7 +210,7 @@ Per-Host Resources: mem-estimate=165.85MB mem-reservation=30.31MB thread-reserva
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=8.00MB thread-reservation=0
-| tuple-ids=5N,7N,9N row-size=202B cardinality=17.71K
+| tuple-ids=5N,7N,9N row-size=202B cardinality=53.13K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -334,7 +334,7 @@ Per-Host Resources: mem-estimate=165.85MB mem-reservation=30.31MB thread-reserva
tuple-ids=0 row-size=36B cardinality=589.03K(filtered from 2.88M)
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=89.14MB Threads=13
+Max Per-Host Resource Reservation: Memory=92.89MB Threads=13
Per-Host Resource Estimates: Memory=293MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.04MB mem-reservation=4.00MB thread-reservation=1
@@ -350,7 +350,7 @@ PLAN-ROOT SINK
| in pipelines: 11(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(i_item_id) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(NULL) END,CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(s_state) WHEN 7 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) END)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservation=1
+Per-Instance Resources: mem-estimate=40.00MB mem-reservation=9.62MB thread-reservation=1
11:TOP-N [LIMIT=100]
| order by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END ASC, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END ASC
| mem-estimate=5.57KB mem-reservation=0B thread-reservation=0
@@ -374,13 +374,13 @@ Per-Instance Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reser
| Class 2
| output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price)
| group by: NULL, NULL
-| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| mem-estimate=30.00MB mem-reservation=7.69MB thread-reservation=0
| tuple-ids=6N,8N,10N row-size=202B cardinality=17.71K
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(i_item_id) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(NULL) END,CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(s_state) WHEN 7 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) END)]
-| mem-estimate=2.39MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5N,7N,9N row-size=202B cardinality=17.71K
+| mem-estimate=8.03MB mem-reservation=0B thread-reservation=0
+| tuple-ids=5N,7N,9N row-size=202B cardinality=105.51K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -397,7 +397,7 @@ Per-Instance Resources: mem-estimate=51.02MB mem-reservation=12.00MB thread-rese
| output: avg(CAST(ss_quantity AS BIGINT)), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=8.00MB thread-reservation=0
-| tuple-ids=5N,7N,9N row-size=202B cardinality=17.71K
+| tuple-ids=5N,7N,9N row-size=202B cardinality=105.51K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q28.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q28.test
index 5f2f119ea..ca67d3d0b 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q28.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q28.test
@@ -248,7 +248,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=39.62MB Threads=24
-Per-Host Resource Estimates: Memory=512MB
+Per-Host Resource Estimates: Memory=513MB
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.09MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -280,7 +280,7 @@ PLAN-ROOT SINK
| | in pipelines: 17(GETNEXT)
| |
| F16:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
| 17:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -295,8 +295,8 @@ PLAN-ROOT SINK
| | in pipelines: 48(GETNEXT), 15(OPEN)
| |
| 47:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=20B cardinality=20.23K
+| | mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=31 row-size=20B cardinality=60.17K
| | in pipelines: 15(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -305,7 +305,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=20B cardinality=20.23K
+| | tuple-ids=31 row-size=20B cardinality=60.17K
| | in pipelines: 15(GETNEXT)
| |
| 15:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -346,7 +346,7 @@ PLAN-ROOT SINK
| | in pipelines: 14(GETNEXT)
| |
| F13:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
| 14:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -361,8 +361,8 @@ PLAN-ROOT SINK
| | in pipelines: 43(GETNEXT), 12(OPEN)
| |
| 42:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=25 row-size=20B cardinality=20.23K
+| | mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=25 row-size=20B cardinality=60.17K
| | in pipelines: 12(GETNEXT)
| |
| F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -371,7 +371,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=25 row-size=20B cardinality=20.23K
+| | tuple-ids=25 row-size=20B cardinality=60.17K
| | in pipelines: 12(GETNEXT)
| |
| 12:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -412,7 +412,7 @@ PLAN-ROOT SINK
| | in pipelines: 11(GETNEXT)
| |
| F10:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
| 11:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -427,8 +427,8 @@ PLAN-ROOT SINK
| | in pipelines: 38(GETNEXT), 09(OPEN)
| |
| 37:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=19 row-size=20B cardinality=20.23K
+| | mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=19 row-size=20B cardinality=60.17K
| | in pipelines: 09(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -437,7 +437,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=19 row-size=20B cardinality=20.23K
+| | tuple-ids=19 row-size=20B cardinality=60.17K
| | in pipelines: 09(GETNEXT)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -478,7 +478,7 @@ PLAN-ROOT SINK
| | in pipelines: 08(GETNEXT)
| |
| F07:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
| 08:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -493,8 +493,8 @@ PLAN-ROOT SINK
| | in pipelines: 33(GETNEXT), 06(OPEN)
| |
| 32:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=20B cardinality=20.23K
+| | mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=20B cardinality=60.17K
| | in pipelines: 06(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -503,7 +503,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=13 row-size=20B cardinality=20.23K
+| | tuple-ids=13 row-size=20B cardinality=60.17K
| | in pipelines: 06(GETNEXT)
| |
| 06:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -544,7 +544,7 @@ PLAN-ROOT SINK
| | in pipelines: 05(GETNEXT)
| |
| F04:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
| 05:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -559,8 +559,8 @@ PLAN-ROOT SINK
| | in pipelines: 28(GETNEXT), 03(OPEN)
| |
| 27:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=20B cardinality=20.23K
+| | mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=20B cardinality=60.17K
| | in pipelines: 03(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -569,7 +569,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=7 row-size=20B cardinality=20.23K
+| | tuple-ids=7 row-size=20B cardinality=60.17K
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -598,7 +598,7 @@ PLAN-ROOT SINK
| in pipelines: 02(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.45MB mem-reservation=1.94MB thread-reservation=1
02:AGGREGATE
| output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -613,8 +613,8 @@ Per-Host Resources: mem-estimate=10.20MB mem-reservation=1.94MB thread-reservati
| in pipelines: 24(GETNEXT), 00(OPEN)
|
23:EXCHANGE [HASH(ss_list_price)]
-| mem-estimate=203.72KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=20B cardinality=20.23K
+| mem-estimate=463.76KB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=20B cardinality=60.17K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -623,7 +623,7 @@ Per-Host Resources: mem-estimate=74.28MB mem-reservation=4.00MB thread-reservati
| output: avg(ss_list_price), count(ss_list_price)
| group by: ss_list_price
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=1 row-size=20B cardinality=20.23K
+| tuple-ids=1 row-size=20B cardinality=60.17K
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -641,7 +641,7 @@ Per-Host Resources: mem-estimate=74.28MB mem-reservation=4.00MB thread-reservati
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=75.25MB Threads=35
-Per-Host Resource Estimates: Memory=447MB
+Per-Host Resource Estimates: Memory=454MB
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -680,7 +680,7 @@ PLAN-ROOT SINK
| | in pipelines: 17(GETNEXT)
| |
| F16:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
| 17:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -695,8 +695,8 @@ PLAN-ROOT SINK
| | in pipelines: 48(GETNEXT), 15(OPEN)
| |
| 47:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=20B cardinality=20.23K
+| | mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=31 row-size=20B cardinality=110.08K
| | in pipelines: 15(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -705,7 +705,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=20B cardinality=20.23K
+| | tuple-ids=31 row-size=20B cardinality=110.08K
| | in pipelines: 15(GETNEXT)
| |
| 15:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -753,7 +753,7 @@ PLAN-ROOT SINK
| | in pipelines: 14(GETNEXT)
| |
| F13:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
| 14:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -768,8 +768,8 @@ PLAN-ROOT SINK
| | in pipelines: 43(GETNEXT), 12(OPEN)
| |
| 42:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=25 row-size=20B cardinality=20.23K
+| | mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=25 row-size=20B cardinality=110.08K
| | in pipelines: 12(GETNEXT)
| |
| F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -778,7 +778,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=25 row-size=20B cardinality=20.23K
+| | tuple-ids=25 row-size=20B cardinality=110.08K
| | in pipelines: 12(GETNEXT)
| |
| 12:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -826,7 +826,7 @@ PLAN-ROOT SINK
| | in pipelines: 11(GETNEXT)
| |
| F10:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
| 11:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -841,8 +841,8 @@ PLAN-ROOT SINK
| | in pipelines: 38(GETNEXT), 09(OPEN)
| |
| 37:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=19 row-size=20B cardinality=20.23K
+| | mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=19 row-size=20B cardinality=110.08K
| | in pipelines: 09(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -851,7 +851,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=19 row-size=20B cardinality=20.23K
+| | tuple-ids=19 row-size=20B cardinality=110.08K
| | in pipelines: 09(GETNEXT)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -899,7 +899,7 @@ PLAN-ROOT SINK
| | in pipelines: 08(GETNEXT)
| |
| F07:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
| 08:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -914,8 +914,8 @@ PLAN-ROOT SINK
| | in pipelines: 33(GETNEXT), 06(OPEN)
| |
| 32:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=20B cardinality=20.23K
+| | mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=20B cardinality=110.08K
| | in pipelines: 06(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -924,7 +924,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=13 row-size=20B cardinality=20.23K
+| | tuple-ids=13 row-size=20B cardinality=110.08K
| | in pipelines: 06(GETNEXT)
| |
| 06:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -972,7 +972,7 @@ PLAN-ROOT SINK
| | in pipelines: 05(GETNEXT)
| |
| F04:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
| 05:AGGREGATE
| | output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -987,8 +987,8 @@ PLAN-ROOT SINK
| | in pipelines: 28(GETNEXT), 03(OPEN)
| |
| 27:EXCHANGE [HASH(ss_list_price)]
-| | mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=20B cardinality=20.23K
+| | mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=20B cardinality=110.08K
| | in pipelines: 03(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -997,7 +997,7 @@ PLAN-ROOT SINK
| | output: avg(ss_list_price), count(ss_list_price)
| | group by: ss_list_price
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=7 row-size=20B cardinality=20.23K
+| | tuple-ids=7 row-size=20B cardinality=110.08K
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -1026,7 +1026,7 @@ PLAN-ROOT SINK
| in pipelines: 02(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(ss_list_price)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.84MB mem-reservation=1.94MB thread-reservation=1
02:AGGREGATE
| output: count(ss_list_price), avg:merge(ss_list_price), count:merge(ss_list_price)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -1041,8 +1041,8 @@ Per-Instance Resources: mem-estimate=10.27MB mem-reservation=1.94MB thread-reser
| in pipelines: 24(GETNEXT), 00(OPEN)
|
23:EXCHANGE [HASH(ss_list_price)]
-| mem-estimate=275.72KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=20B cardinality=20.23K
+| mem-estimate=860.68KB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=20B cardinality=110.08K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1051,7 +1051,7 @@ Per-Instance Resources: mem-estimate=26.56MB mem-reservation=4.00MB thread-reser
| output: avg(ss_list_price), count(ss_list_price)
| group by: ss_list_price
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=1 row-size=20B cardinality=20.23K
+| tuple-ids=1 row-size=20B cardinality=110.08K
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q31.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q31.test
index c5bdde4ad..6cc5ad77c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q31.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q31.test
@@ -522,8 +522,8 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | in pipelines: 73(GETNEXT), 30(OPEN)
| |
| 72:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=28 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=28 row-size=50B cardinality=3.65K
| | in pipelines: 30(GETNEXT)
| |
| F26:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -532,7 +532,7 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=28 row-size=50B cardinality=1.82K
+| | tuple-ids=28 row-size=50B cardinality=3.65K
| | in pipelines: 30(GETNEXT)
| |
| 34:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -630,8 +630,8 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | in pipelines: 67(GETNEXT), 24(OPEN)
| |
| 66:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=23 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=23 row-size=50B cardinality=3.65K
| | in pipelines: 24(GETNEXT)
| |
| F21:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -640,7 +640,7 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=23 row-size=50B cardinality=1.82K
+| | tuple-ids=23 row-size=50B cardinality=3.65K
| | in pipelines: 24(GETNEXT)
| |
| 28:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -738,8 +738,8 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | in pipelines: 61(GETNEXT), 18(OPEN)
| |
| 60:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=18 row-size=50B cardinality=3.65K
| | in pipelines: 18(GETNEXT)
| |
| F16:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -748,7 +748,7 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=18 row-size=50B cardinality=1.82K
+| | tuple-ids=18 row-size=50B cardinality=3.65K
| | in pipelines: 18(GETNEXT)
| |
| 22:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -846,8 +846,8 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | in pipelines: 55(GETNEXT), 12(OPEN)
| |
| 54:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=191.56KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=50B cardinality=1.82K
+| | mem-estimate=250.92KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=50B cardinality=5.47K
| | in pipelines: 12(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -856,7 +856,7 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | output: sum(ss_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=13 row-size=50B cardinality=1.82K
+| | tuple-ids=13 row-size=50B cardinality=5.47K
| | in pipelines: 12(GETNEXT)
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
@@ -948,8 +948,8 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | in pipelines: 49(GETNEXT), 06(OPEN)
| |
| 48:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=191.56KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=8 row-size=50B cardinality=1.82K
+| | mem-estimate=250.92KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=8 row-size=50B cardinality=5.47K
| | in pipelines: 06(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -958,7 +958,7 @@ Per-Host Resources: mem-estimate=25.87MB mem-reservation=25.69MB thread-reservat
| | output: sum(ss_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=8 row-size=50B cardinality=1.82K
+| | tuple-ids=8 row-size=50B cardinality=5.47K
| | in pipelines: 06(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1042,8 +1042,8 @@ Per-Host Resources: mem-estimate=10.63MB mem-reservation=1.94MB thread-reservati
| in pipelines: 45(GETNEXT), 00(OPEN)
|
44:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| mem-estimate=191.56KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=50B cardinality=1.82K
+| mem-estimate=250.92KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=50B cardinality=5.47K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1052,7 +1052,7 @@ Per-Host Resources: mem-estimate=51.16MB mem-reservation=17.69MB thread-reservat
| output: sum(ss_ext_sales_price)
| group by: ca_county, d_qoy, d_year
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=3 row-size=50B cardinality=1.82K
+| tuple-ids=3 row-size=50B cardinality=5.47K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1175,8 +1175,8 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | in pipelines: 73(GETNEXT), 30(OPEN)
| |
| 72:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=28 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=28 row-size=50B cardinality=3.65K
| | in pipelines: 30(GETNEXT)
| |
| F26:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -1185,7 +1185,7 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=28 row-size=50B cardinality=1.82K
+| | tuple-ids=28 row-size=50B cardinality=3.65K
| | in pipelines: 30(GETNEXT)
| |
| 34:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1308,8 +1308,8 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | in pipelines: 67(GETNEXT), 24(OPEN)
| |
| 66:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=23 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=23 row-size=50B cardinality=3.65K
| | in pipelines: 24(GETNEXT)
| |
| F21:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -1318,7 +1318,7 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=23 row-size=50B cardinality=1.82K
+| | tuple-ids=23 row-size=50B cardinality=3.65K
| | in pipelines: 24(GETNEXT)
| |
| 28:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1442,8 +1442,8 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | in pipelines: 61(GETNEXT), 18(OPEN)
| |
| 60:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=152.44KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=18 row-size=50B cardinality=1.82K
+| | mem-estimate=196.96KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=18 row-size=50B cardinality=3.65K
| | in pipelines: 18(GETNEXT)
| |
| F16:PLAN FRAGMENT [HASH(ws_bill_addr_sk)] hosts=2 instances=2
@@ -1452,7 +1452,7 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | output: sum(ws_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=18 row-size=50B cardinality=1.82K
+| | tuple-ids=18 row-size=50B cardinality=3.65K
| | in pipelines: 18(GETNEXT)
| |
| 22:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1576,8 +1576,8 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | in pipelines: 55(GETNEXT), 12(OPEN)
| |
| 54:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=353.45KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=50B cardinality=1.82K
+| | mem-estimate=501.85KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=13 row-size=50B cardinality=10.95K
| | in pipelines: 12(GETNEXT)
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1587,7 +1587,7 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | output: sum(ss_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=13 row-size=50B cardinality=1.82K
+| | tuple-ids=13 row-size=50B cardinality=10.95K
| | in pipelines: 12(GETNEXT)
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1704,8 +1704,8 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | in pipelines: 49(GETNEXT), 06(OPEN)
| |
| 48:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| | mem-estimate=353.45KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=8 row-size=50B cardinality=1.82K
+| | mem-estimate=501.85KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=8 row-size=50B cardinality=10.95K
| | in pipelines: 06(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1715,7 +1715,7 @@ Per-Instance Resources: mem-estimate=12.51MB mem-reservation=12.00MB thread-rese
| | output: sum(ss_ext_sales_price)
| | group by: ca_county, d_qoy, d_year
| | mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=8 row-size=50B cardinality=1.82K
+| | tuple-ids=8 row-size=50B cardinality=10.95K
| | in pipelines: 06(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1816,8 +1816,8 @@ Per-Instance Resources: mem-estimate=11.26MB mem-reservation=1.94MB thread-reser
| in pipelines: 45(GETNEXT), 00(OPEN)
|
44:EXCHANGE [HASH(ca_county,d_qoy,d_year)]
-| mem-estimate=353.45KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=50B cardinality=1.82K
+| mem-estimate=501.85KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=50B cardinality=10.95K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1827,7 +1827,7 @@ Per-Instance Resources: mem-estimate=27.26MB mem-reservation=6.00MB thread-reser
| output: sum(ss_ext_sales_price)
| group by: ca_county, d_qoy, d_year
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=3 row-size=50B cardinality=1.82K
+| tuple-ids=3 row-size=50B cardinality=10.95K
| in pipelines: 00(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q32.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q32.test
index 4a819285b..f3952c2c3 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q32.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q32.test
@@ -149,15 +149,15 @@ PLAN-ROOT SINK
|
18:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=8 row-size=16B cardinality=1
+| tuple-ids=8 row-size=16B cardinality=3
| in pipelines: 10(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=13.31MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=13.49MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
10:AGGREGATE
| output: sum(cs_ext_discount_amt)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=8 row-size=16B cardinality=1
+| tuple-ids=8 row-size=16B cardinality=3
| in pipelines: 10(GETNEXT), 13(OPEN)
|
09:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED]
@@ -257,8 +257,8 @@ Per-Host Resources: mem-estimate=13.31MB mem-reservation=4.88MB thread-reservati
| in pipelines: 13(GETNEXT), 03(OPEN)
|
12:EXCHANGE [HASH(cs_item_sk)]
-| mem-estimate=153.62KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=16B cardinality=17.98K
+| mem-estimate=340.86KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=16B cardinality=53.92K
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -267,7 +267,7 @@ Per-Host Resources: mem-estimate=158.17MB mem-reservation=13.94MB thread-reserva
| output: avg(cs_ext_discount_amt)
| group by: cs_item_sk
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=16B cardinality=17.98K
+| tuple-ids=5 row-size=16B cardinality=53.92K
| in pipelines: 03(GETNEXT)
|
05:HASH JOIN [INNER JOIN, BROADCAST]
@@ -326,15 +326,15 @@ PLAN-ROOT SINK
|
18:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=8 row-size=16B cardinality=1
+| tuple-ids=8 row-size=16B cardinality=3
| in pipelines: 10(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.33MB mem-reservation=1.94MB thread-reservation=1
10:AGGREGATE
| output: sum(cs_ext_discount_amt)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=8 row-size=16B cardinality=1
+| tuple-ids=8 row-size=16B cardinality=3
| in pipelines: 10(GETNEXT), 13(OPEN)
|
09:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED]
@@ -459,8 +459,8 @@ Per-Instance Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reser
| in pipelines: 13(GETNEXT), 03(OPEN)
|
12:EXCHANGE [HASH(cs_item_sk)]
-| mem-estimate=153.62KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=16B cardinality=17.98K
+| mem-estimate=340.86KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=16B cardinality=53.92K
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -470,7 +470,7 @@ Per-Instance Resources: mem-estimate=58.23MB mem-reservation=10.00MB thread-rese
| output: avg(cs_ext_discount_amt)
| group by: cs_item_sk
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=16B cardinality=17.98K
+| tuple-ids=5 row-size=16B cardinality=53.92K
| in pipelines: 03(GETNEXT)
|
05:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q33.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q33.test
index a71adb772..e3bb85818 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q33.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q33.test
@@ -412,7 +412,7 @@ PLAN-ROOT SINK
| in pipelines: 32(GETNEXT)
|
F21:PLAN FRAGMENT [HASH(i_manufact_id)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.08MB mem-reservation=1.94MB thread-reservation=1
32:TOP-N [LIMIT=100]
| order by: sum(total_sales) ASC
| mem-estimate=1.95KB mem-reservation=0B thread-reservation=0
@@ -427,17 +427,17 @@ Per-Host Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reservati
| in pipelines: 54(GETNEXT), 38(OPEN), 45(OPEN), 52(OPEN)
|
53:EXCHANGE [HASH(i_manufact_id)]
-| mem-estimate=72.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=26 row-size=20B cardinality=944
+| mem-estimate=83.66KB mem-reservation=0B thread-reservation=0
+| tuple-ids=26 row-size=20B cardinality=1.79K
| in pipelines: 38(GETNEXT), 45(GETNEXT), 52(GETNEXT)
|
F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=20.37MB mem-reservation=3.94MB thread-reservation=1
31:AGGREGATE [STREAMING]
| output: sum(total_sales)
| group by: i_manufact_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=26 row-size=20B cardinality=944
+| tuple-ids=26 row-size=20B cardinality=1.79K
| in pipelines: 38(GETNEXT), 45(GETNEXT), 52(GETNEXT)
|
00:UNION
@@ -453,8 +453,8 @@ Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservati
| | in pipelines: 52(GETNEXT), 21(OPEN)
| |
| 51:EXCHANGE [HASH(i_manufact_id)]
-| | mem-estimate=53.47KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=22 row-size=20B cardinality=944
+| | mem-estimate=66.32KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=22 row-size=20B cardinality=1.88K
| | in pipelines: 21(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(ws_item_sk)] hosts=2 instances=2
@@ -463,7 +463,7 @@ Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservati
| | output: sum(ws_ext_sales_price)
| | group by: i_manufact_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=22 row-size=20B cardinality=944
+| | tuple-ids=22 row-size=20B cardinality=1.88K
| | in pipelines: 21(GETNEXT)
| |
| 29:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -601,8 +601,8 @@ Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservati
| | in pipelines: 45(GETNEXT), 11(OPEN)
| |
| 44:EXCHANGE [HASH(i_manufact_id)]
-| | mem-estimate=72.52KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=20B cardinality=944
+| | mem-estimate=90.34KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=20B cardinality=2.82K
| | in pipelines: 11(GETNEXT)
| |
| F10:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
@@ -611,7 +611,7 @@ Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservati
| | output: sum(cs_ext_sales_price)
| | group by: i_manufact_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=14 row-size=20B cardinality=944
+| | tuple-ids=14 row-size=20B cardinality=2.82K
| | in pipelines: 11(GETNEXT)
| |
| 19:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -749,8 +749,8 @@ Per-Host Resources: mem-estimate=20.35MB mem-reservation=3.94MB thread-reservati
| in pipelines: 38(GETNEXT), 01(OPEN)
|
37:EXCHANGE [HASH(i_manufact_id)]
-| mem-estimate=72.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=20B cardinality=944
+| mem-estimate=90.44KB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=20B cardinality=2.83K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -759,7 +759,7 @@ Per-Host Resources: mem-estimate=70.12MB mem-reservation=15.75MB thread-reservat
| output: sum(ss_ext_sales_price)
| group by: i_manufact_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=20B cardinality=944
+| tuple-ids=6 row-size=20B cardinality=2.83K
| in pipelines: 01(GETNEXT)
|
09:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -899,7 +899,7 @@ PLAN-ROOT SINK
| in pipelines: 32(GETNEXT)
|
F21:PLAN FRAGMENT [HASH(i_manufact_id)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.14MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.15MB mem-reservation=1.94MB thread-reservation=1
32:TOP-N [LIMIT=100]
| order by: sum(total_sales) ASC
| mem-estimate=1.95KB mem-reservation=0B thread-reservation=0
@@ -914,17 +914,17 @@ Per-Instance Resources: mem-estimate=10.14MB mem-reservation=1.94MB thread-reser
| in pipelines: 54(GETNEXT), 38(OPEN), 45(OPEN), 52(OPEN)
|
53:EXCHANGE [HASH(i_manufact_id)]
-| mem-estimate=138.90KB mem-reservation=0B thread-reservation=0
-| tuple-ids=26 row-size=20B cardinality=944
+| mem-estimate=158.53KB mem-reservation=0B thread-reservation=0
+| tuple-ids=26 row-size=20B cardinality=2.23K
| in pipelines: 38(GETNEXT), 45(GETNEXT), 52(GETNEXT)
|
F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=20.74MB mem-reservation=3.94MB thread-reservation=1
31:AGGREGATE [STREAMING]
| output: sum(total_sales)
| group by: i_manufact_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=26 row-size=20B cardinality=944
+| tuple-ids=26 row-size=20B cardinality=2.23K
| in pipelines: 38(GETNEXT), 45(GETNEXT), 52(GETNEXT)
|
00:UNION
@@ -940,8 +940,8 @@ Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reser
| | in pipelines: 52(GETNEXT), 21(OPEN)
| |
| 51:EXCHANGE [HASH(i_manufact_id)]
-| | mem-estimate=53.47KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=22 row-size=20B cardinality=944
+| | mem-estimate=66.32KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=22 row-size=20B cardinality=1.88K
| | in pipelines: 21(GETNEXT)
| |
| F17:PLAN FRAGMENT [HASH(ws_item_sk)] hosts=2 instances=2
@@ -950,7 +950,7 @@ Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reser
| | output: sum(ws_ext_sales_price)
| | group by: i_manufact_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=22 row-size=20B cardinality=944
+| | tuple-ids=22 row-size=20B cardinality=1.88K
| | in pipelines: 21(GETNEXT)
| |
| 29:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -1121,8 +1121,8 @@ Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reser
| | in pipelines: 45(GETNEXT), 11(OPEN)
| |
| 44:EXCHANGE [HASH(i_manufact_id)]
-| | mem-estimate=72.52KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=20B cardinality=944
+| | mem-estimate=90.34KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=20B cardinality=2.82K
| | in pipelines: 11(GETNEXT)
| |
| F10:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
@@ -1131,7 +1131,7 @@ Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reser
| | output: sum(cs_ext_sales_price)
| | group by: i_manufact_id
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=14 row-size=20B cardinality=944
+| | tuple-ids=14 row-size=20B cardinality=2.82K
| | in pipelines: 11(GETNEXT)
| |
| 19:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -1303,8 +1303,8 @@ Per-Instance Resources: mem-estimate=20.70MB mem-reservation=3.94MB thread-reser
| in pipelines: 38(GETNEXT), 01(OPEN)
|
37:EXCHANGE [HASH(i_manufact_id)]
-| mem-estimate=138.90KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=20B cardinality=944
+| mem-estimate=180.60KB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=20B cardinality=5.62K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1314,7 +1314,7 @@ Per-Instance Resources: mem-estimate=26.56MB mem-reservation=4.00MB thread-reser
| output: sum(ss_ext_sales_price)
| group by: i_manufact_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=20B cardinality=944
+| tuple-ids=6 row-size=20B cardinality=5.62K
| in pipelines: 01(GETNEXT)
|
09:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q36.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q36.test
index 393d10981..03bb18826 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q36.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q36.test
@@ -217,8 +217,8 @@ Per-Host Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservati
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(NULL) WHEN 6 THEN murmur_hash(NULL) END)]
-| mem-estimate=646.37KB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N row-size=188B cardinality=1.00K
+| mem-estimate=782.06KB mem-reservation=0B thread-reservation=0
+| tuple-ids=4N,5N,6N row-size=188B cardinality=3.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -234,7 +234,7 @@ Per-Host Resources: mem-estimate=106.09MB mem-reservation=17.75MB thread-reserva
| output: sum(ss_net_profit), sum(ss_ext_sales_price)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N row-size=188B cardinality=1.00K
+| tuple-ids=4N,5N,6N row-size=188B cardinality=3.00K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -397,8 +397,8 @@ Per-Instance Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reser
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(NULL) WHEN 6 THEN murmur_hash(NULL) END)]
-| mem-estimate=1.20MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N row-size=188B cardinality=1.00K
+| mem-estimate=1.53MB mem-reservation=0B thread-reservation=0
+| tuple-ids=4N,5N,6N row-size=188B cardinality=6.01K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -415,7 +415,7 @@ Per-Instance Resources: mem-estimate=50.68MB mem-reservation=8.00MB thread-reser
| output: sum(ss_net_profit), sum(ss_ext_sales_price)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N row-size=188B cardinality=1.00K
+| tuple-ids=4N,5N,6N row-size=188B cardinality=6.01K
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q37.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q37.test
index 2746d8321..5d1d7944e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q37.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q37.test
@@ -117,8 +117,8 @@ PLAN-ROOT SINK
tuple-ids=3 row-size=8B cardinality=125.59K(filtered from 1.44M)
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=45.75MB Threads=11
-Per-Host Resource Estimates: Memory=296MB
+Max Per-Host Resource Reservation: Memory=48.56MB Threads=11
+Per-Host Resource Estimates: Memory=298MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -133,7 +133,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(i_item_id,i_item_desc,i_current_price)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=11.26MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=12.67MB mem-reservation=4.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=14.11KB mem-reservation=0B thread-reservation=0
@@ -142,13 +142,13 @@ Per-Host Resources: mem-estimate=11.26MB mem-reservation=1.94MB thread-reservati
|
14:AGGREGATE [FINALIZE]
| group by: i_item_id, i_item_desc, i_current_price
-| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=4 row-size=144B cardinality=18.00K
| in pipelines: 14(GETNEXT), 03(OPEN)
|
13:EXCHANGE [HASH(i_item_id,i_item_desc,i_current_price)]
-| mem-estimate=1.26MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=144B cardinality=18.00K
+| mem-estimate=2.67MB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=144B cardinality=48.73K
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -156,7 +156,7 @@ Per-Host Resources: mem-estimate=62.68MB mem-reservation=13.94MB thread-reservat
07:AGGREGATE [STREAMING]
| group by: i_item_id, i_item_desc, i_current_price
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=4 row-size=144B cardinality=18.00K
+| tuple-ids=4 row-size=144B cardinality=48.73K
| in pipelines: 03(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -262,8 +262,8 @@ Per-Host Resources: mem-estimate=62.68MB mem-reservation=13.94MB thread-reservat
tuple-ids=3 row-size=8B cardinality=125.59K(filtered from 1.44M)
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=51.62MB Threads=10
-Per-Host Resource Estimates: Memory=159MB
+Max Per-Host Resource Reservation: Memory=54.44MB Threads=10
+Per-Host Resource Estimates: Memory=161MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -278,7 +278,7 @@ PLAN-ROOT SINK
| in pipelines: 08(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(i_item_id,i_item_desc,i_current_price)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=11.26MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=12.67MB mem-reservation=4.75MB thread-reservation=1
08:TOP-N [LIMIT=100]
| order by: i_item_id ASC
| mem-estimate=14.11KB mem-reservation=0B thread-reservation=0
@@ -287,13 +287,13 @@ Per-Instance Resources: mem-estimate=11.26MB mem-reservation=1.94MB thread-reser
|
14:AGGREGATE [FINALIZE]
| group by: i_item_id, i_item_desc, i_current_price
-| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=4 row-size=144B cardinality=18.00K
| in pipelines: 14(GETNEXT), 03(OPEN)
|
13:EXCHANGE [HASH(i_item_id,i_item_desc,i_current_price)]
-| mem-estimate=1.26MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=144B cardinality=18.00K
+| mem-estimate=2.67MB mem-reservation=0B thread-reservation=0
+| tuple-ids=4 row-size=144B cardinality=48.73K
| in pipelines: 03(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -302,7 +302,7 @@ Per-Instance Resources: mem-estimate=59.74MB mem-reservation=11.00MB thread-rese
07:AGGREGATE [STREAMING]
| group by: i_item_id, i_item_desc, i_current_price
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=4 row-size=144B cardinality=18.00K
+| tuple-ids=4 row-size=144B cardinality=48.73K
| in pipelines: 03(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q38.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q38.test
index 9c03dd8de..776d1bdc5 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q38.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q38.test
@@ -247,7 +247,7 @@ PLAN-ROOT SINK
|
35:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=16 row-size=8B cardinality=1
+| tuple-ids=16 row-size=8B cardinality=3
| in pipelines: 20(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(c_last_name,c_first_name,d_date)] hosts=3 instances=3
@@ -255,7 +255,7 @@ Per-Host Resources: mem-estimate=177.11MB mem-reservation=108.00MB thread-reserv
20:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=16 row-size=8B cardinality=1
+| tuple-ids=16 row-size=8B cardinality=3
| in pipelines: 20(GETNEXT), 24(OPEN)
|
19:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -557,7 +557,7 @@ PLAN-ROOT SINK
|
35:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=16 row-size=8B cardinality=1
+| tuple-ids=16 row-size=8B cardinality=6
| in pipelines: 20(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(c_last_name,c_first_name,d_date)] hosts=3 instances=6
@@ -565,7 +565,7 @@ Per-Instance Resources: mem-estimate=44.36MB mem-reservation=34.00MB thread-rese
20:AGGREGATE
| output: count(*)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=16 row-size=8B cardinality=1
+| tuple-ids=16 row-size=8B cardinality=6
| in pipelines: 20(GETNEXT), 24(OPEN)
|
19:HASH JOIN [INNER JOIN, PARTITIONED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39a.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39a.test
index 810e75584..86b0a7e42 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39a.test
@@ -235,7 +235,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=237.16MB Threads=20
-Per-Host Resource Estimates: Memory=1.12GB
+Per-Host Resource Estimates: Memory=1.08GB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=39.63MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -266,22 +266,22 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
|
|--29:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-| Per-Host Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+| Per-Host Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
| 27:AGGREGATE [FINALIZE]
| | output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) * CAST(1.000 AS DOUBLE) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| | mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT), 08(OPEN)
| |
| 26:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -290,7 +290,7 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
| | output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -384,22 +384,22 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
|
28:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+Per-Host Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
22:AGGREGATE [FINALIZE]
| output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) * CAST(1.000 AS DOUBLE) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT), 00(OPEN)
|
21:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -408,7 +408,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
| output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -493,7 +493,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
|
00:SCAN HDFS [tpcds_parquet.inventory, RANDOM]
HDFS partitions=1/1 files=2 size=34.09MB
- runtime filters: RF009[min_max] -> inv_date_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF008[bloom] -> inv_date_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk
+ runtime filters: RF009[min_max] -> inv_date_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF008[bloom] -> inv_date_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk
stored statistics:
table: rows=11.74M size=34.09MB
columns: all
@@ -503,7 +503,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=254.78MB Threads=19
-Per-Host Resource Estimates: Memory=886MB
+Per-Host Resource Estimates: Memory=843MB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=39.63MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -542,22 +542,22 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
| |
| 29:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-| Per-Instance Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
| 27:AGGREGATE [FINALIZE]
| | output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) * CAST(1.000 AS DOUBLE) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| | mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT), 08(OPEN)
| |
| 26:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -567,7 +567,7 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
| | output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -685,22 +685,22 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
|
28:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
22:AGGREGATE [FINALIZE]
| output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) * CAST(1.000 AS DOUBLE) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT), 00(OPEN)
|
21:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -710,7 +710,7 @@ Per-Instance Resources: mem-estimate=159.29MB mem-reservation=50.00MB thread-res
| output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -821,7 +821,7 @@ Per-Instance Resources: mem-estimate=159.29MB mem-reservation=50.00MB thread-res
|
00:SCAN HDFS [tpcds_parquet.inventory, RANDOM]
HDFS partitions=1/1 files=2 size=34.09MB
- runtime filters: RF009[min_max] -> inv_date_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF008[bloom] -> inv_date_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk
+ runtime filters: RF009[min_max] -> inv_date_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF008[bloom] -> inv_date_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk
stored statistics:
table: rows=11.74M size=34.09MB
columns: all
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39b.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39b.test
index b14a39121..d6c9ea5dc 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q39b.test
@@ -236,7 +236,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=237.16MB Threads=20
-Per-Host Resource Estimates: Memory=1.12GB
+Per-Host Resource Estimates: Memory=1.08GB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=39.63MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -267,22 +267,22 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
|
|--29:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-| Per-Host Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+| Per-Host Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
| 27:AGGREGATE [FINALIZE]
| | output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| | mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT), 08(OPEN)
| |
| 26:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -291,7 +291,7 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
| | output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -385,22 +385,22 @@ Per-Host Resources: mem-estimate=59.29MB mem-reservation=42.00MB thread-reservat
|
28:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+Per-Host Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
22:AGGREGATE [FINALIZE]
| output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE), CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN NULL ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1.5 AS DOUBLE)
-| mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT), 00(OPEN)
|
21:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -409,7 +409,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
| output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -494,7 +494,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
|
00:SCAN HDFS [tpcds_parquet.inventory, RANDOM]
HDFS partitions=1/1 files=2 size=34.09MB
- runtime filters: RF009[min_max] -> inv_date_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF008[bloom] -> inv_date_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk
+ runtime filters: RF009[min_max] -> inv_date_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF008[bloom] -> inv_date_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk
stored statistics:
table: rows=11.74M size=34.09MB
columns: all
@@ -504,7 +504,7 @@ Per-Host Resources: mem-estimate=266.10MB mem-reservation=60.81MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=254.78MB Threads=19
-Per-Host Resource Estimates: Memory=886MB
+Per-Host Resource Estimates: Memory=843MB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=39.63MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -543,22 +543,22 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
| |
| 29:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT)
| |
| F09:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-| Per-Instance Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
| 27:AGGREGATE [FINALIZE]
| | output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE)
-| | mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=13 row-size=62B cardinality=431.40K
+| | mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=13 row-size=62B cardinality=369.47K
| | in pipelines: 27(GETNEXT), 08(OPEN)
| |
| 26:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| | mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -568,7 +568,7 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
| | output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| | group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| | mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=12 row-size=62B cardinality=4.31M
+| | tuple-ids=12 row-size=62B cardinality=3.69M
| | in pipelines: 08(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
@@ -686,22 +686,22 @@ Per-Instance Resources: mem-estimate=23.29MB mem-reservation=6.00MB thread-reser
|
28:EXCHANGE [HASH(i_item_sk,w_warehouse_sk)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=161.32MB mem-reservation=34.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=139.62MB mem-reservation=34.00MB thread-reservation=1
22:AGGREGATE [FINALIZE]
| output: stddev_samp:merge(inv_quantity_on_hand), avg:merge(inv_quantity_on_hand)
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| having: CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1 AS DOUBLE), CASE avg(inv_quantity_on_hand) WHEN CAST(0 AS DOUBLE) THEN NULL ELSE stddev_samp(inv_quantity_on_hand) / avg(inv_quantity_on_hand) END > CAST(1.5 AS DOUBLE)
-| mem-estimate=151.20MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=62B cardinality=431.40K
+| mem-estimate=129.49MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=5 row-size=62B cardinality=369.47K
| in pipelines: 22(GETNEXT), 00(OPEN)
|
21:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy)]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -711,7 +711,7 @@ Per-Instance Resources: mem-estimate=159.29MB mem-reservation=50.00MB thread-res
| output: stddev_samp(inv_quantity_on_hand), avg(CAST(inv_quantity_on_hand AS BIGINT))
| group by: w_warehouse_name, w_warehouse_sk, i_item_sk, d_moy
| mem-estimate=126.78MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=4 row-size=62B cardinality=4.31M
+| tuple-ids=4 row-size=62B cardinality=3.69M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -822,7 +822,7 @@ Per-Instance Resources: mem-estimate=159.29MB mem-reservation=50.00MB thread-res
|
00:SCAN HDFS [tpcds_parquet.inventory, RANDOM]
HDFS partitions=1/1 files=2 size=34.09MB
- runtime filters: RF009[min_max] -> inv_date_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF008[bloom] -> inv_date_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk
+ runtime filters: RF009[min_max] -> inv_date_sk, RF005[min_max] -> inv_warehouse_sk, RF007[min_max] -> inv_item_sk, RF002[min_max] -> tpcds_parquet.inventory.inv_item_sk, RF003[min_max] -> tpcds_parquet.inventory.inv_warehouse_sk, RF008[bloom] -> inv_date_sk, RF004[bloom] -> inv_warehouse_sk, RF006[bloom] -> inv_item_sk, RF000[bloom] -> tpcds_parquet.inventory.inv_item_sk, RF001[bloom] -> tpcds_parquet.inventory.inv_warehouse_sk
stored statistics:
table: rows=11.74M size=34.09MB
columns: all
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q40.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q40.test
index 80363dde2..06553bb8c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q40.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q40.test
@@ -136,7 +136,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=37.77MB Threads=12
-Per-Host Resource Estimates: Memory=470MB
+Per-Host Resource Estimates: Memory=471MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -151,7 +151,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(w_state,i_item_id)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.44MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: w_state ASC, i_item_id ASC
| mem-estimate=7.23KB mem-reservation=0B thread-reservation=0
@@ -166,8 +166,8 @@ Per-Host Resources: mem-estimate=10.44MB mem-reservation=1.94MB thread-reservati
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(w_state,i_item_id)]
-| mem-estimate=447.28KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=74B cardinality=8.85K
+| mem-estimate=871.09KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=74B cardinality=26.45K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -176,7 +176,7 @@ Per-Host Resources: mem-estimate=270.42MB mem-reservation=27.31MB thread-reserva
| output: sum(CASE WHEN (CAST(d_date AS DATE) < DATE '2000-03-11') THEN cs_sales_price - coalesce(cr_refunded_cash, CAST(0 AS DECIMAL(7,2))) ELSE CAST(0 AS DECIMAL(8,2)) END), sum(CASE WHEN (CAST(d_date AS DATE) >= DATE '2000-03-11') THEN cs_sales_price - coalesce(cr_refunded_cash, CAST(0 AS DECIMAL(7,2))) ELSE CAST(0 AS DECIMAL(8,2)) END)
| group by: w_state, i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=74B cardinality=8.85K
+| tuple-ids=5 row-size=74B cardinality=26.45K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -312,7 +312,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(w_state,i_item_id)] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=10.44MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: w_state ASC, i_item_id ASC
| mem-estimate=7.23KB mem-reservation=0B thread-reservation=0
@@ -327,8 +327,8 @@ Per-Instance Resources: mem-estimate=10.44MB mem-reservation=1.94MB thread-reser
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(w_state,i_item_id)]
-| mem-estimate=447.28KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=74B cardinality=8.85K
+| mem-estimate=871.09KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=74B cardinality=26.45K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -338,7 +338,7 @@ Per-Instance Resources: mem-estimate=58.91MB mem-reservation=10.00MB thread-rese
| output: sum(CASE WHEN (CAST(d_date AS DATE) < DATE '2000-03-11') THEN cs_sales_price - coalesce(cr_refunded_cash, CAST(0 AS DECIMAL(7,2))) ELSE CAST(0 AS DECIMAL(8,2)) END), sum(CASE WHEN (CAST(d_date AS DATE) >= DATE '2000-03-11') THEN cs_sales_price - coalesce(cr_refunded_cash, CAST(0 AS DECIMAL(7,2))) ELSE CAST(0 AS DECIMAL(8,2)) END)
| group by: w_state, i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=74B cardinality=8.85K
+| tuple-ids=5 row-size=74B cardinality=26.45K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q42.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q42.test
index 9dfde5199..3e21f553e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q42.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q42.test
@@ -116,7 +116,7 @@ PLAN-ROOT SINK
| in pipelines: 06(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(dt.d_year,item.i_category_id,item.i_category)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.04MB mem-reservation=1.94MB thread-reservation=1
06:TOP-N [LIMIT=100]
| order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC
| mem-estimate=4.09KB mem-reservation=0B thread-reservation=0
@@ -131,8 +131,8 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
| in pipelines: 10(GETNEXT), 01(OPEN)
|
09:EXCHANGE [HASH(dt.d_year,item.i_category_id,item.i_category)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=42B cardinality=100
+| mem-estimate=44.43KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=42B cardinality=300
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -141,7 +141,7 @@ Per-Host Resources: mem-estimate=48.41MB mem-reservation=8.88MB thread-reservati
| output: sum(ss_ext_sales_price)
| group by: dt.d_year, item.i_category_id, item.i_category
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=3 row-size=42B cardinality=100
+| tuple-ids=3 row-size=42B cardinality=300
| in pipelines: 01(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -228,7 +228,7 @@ PLAN-ROOT SINK
| in pipelines: 06(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(dt.d_year,item.i_category_id,item.i_category)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.16MB mem-reservation=1.94MB thread-reservation=1
06:TOP-N [LIMIT=100]
| order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC
| mem-estimate=4.09KB mem-reservation=0B thread-reservation=0
@@ -243,8 +243,8 @@ Per-Instance Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reser
| in pipelines: 10(GETNEXT), 01(OPEN)
|
09:EXCHANGE [HASH(dt.d_year,item.i_category_id,item.i_category)]
-| mem-estimate=28.26KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=42B cardinality=100
+| mem-estimate=161.05KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=42B cardinality=570
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -254,7 +254,7 @@ Per-Instance Resources: mem-estimate=27.08MB mem-reservation=3.00MB thread-reser
| output: sum(ss_ext_sales_price)
| group by: dt.d_year, item.i_category_id, item.i_category
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=3 row-size=42B cardinality=100
+| tuple-ids=3 row-size=42B cardinality=570
| in pipelines: 01(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q43.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q43.test
index c2ea3f39f..2bb436f94 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q43.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q43.test
@@ -139,8 +139,8 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
| in pipelines: 10(GETNEXT), 01(OPEN)
|
09:EXCHANGE [HASH(s_store_name,s_store_id)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=156B cardinality=12
+| mem-estimate=18.73KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=156B cardinality=36
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -149,7 +149,7 @@ Per-Host Resources: mem-estimate=49.75MB mem-reservation=8.38MB thread-reservati
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Sa [...]
| group by: s_store_name, s_store_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=3 row-size=156B cardinality=12
+| tuple-ids=3 row-size=156B cardinality=36
| in pipelines: 01(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -236,7 +236,7 @@ PLAN-ROOT SINK
| in pipelines: 06(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(s_store_name,s_store_id)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.07MB mem-reservation=1.94MB thread-reservation=1
06:TOP-N [LIMIT=100]
| order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sal [...]
| mem-estimate=1.83KB mem-reservation=0B thread-reservation=0
@@ -251,8 +251,8 @@ Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reser
| in pipelines: 10(GETNEXT), 01(OPEN)
|
09:EXCHANGE [HASH(s_store_name,s_store_id)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=3 row-size=156B cardinality=12
+| mem-estimate=71.27KB mem-reservation=0B thread-reservation=0
+| tuple-ids=3 row-size=156B cardinality=72
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -262,7 +262,7 @@ Per-Instance Resources: mem-estimate=29.76MB mem-reservation=2.50MB thread-reser
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Sa [...]
| group by: s_store_name, s_store_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=3 row-size=156B cardinality=12
+| tuple-ids=3 row-size=156B cardinality=72
| in pipelines: 01(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q44.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q44.test
index 44e53e760..286a398bb 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q44.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q44.test
@@ -339,7 +339,7 @@ PLAN-ROOT SINK
| | in pipelines: 15(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.35MB mem-reservation=1.94MB thread-reservation=1
| 15:TOP-N
| | order by: avg(ss_net_profit) DESC
| | limit with ties: 10
@@ -385,7 +385,7 @@ PLAN-ROOT SINK
| | |
| | 35:EXCHANGE [HASH(ss_store_sk)]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=18 row-size=12B cardinality=1
+| | | tuple-ids=18 row-size=12B cardinality=3
| | | in pipelines: 11(GETNEXT)
| | |
| | F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -394,7 +394,7 @@ PLAN-ROOT SINK
| | | output: avg(ss_net_profit)
| | | group by: ss_store_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=18 row-size=12B cardinality=1
+| | | tuple-ids=18 row-size=12B cardinality=3
| | | in pipelines: 11(GETNEXT)
| | |
| | 11:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -419,8 +419,8 @@ PLAN-ROOT SINK
| | in pipelines: 34(GETNEXT), 09(OPEN)
| |
| 33:EXCHANGE [HASH(ss_item_sk)]
-| | mem-estimate=153.62KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=16B cardinality=17.98K
+| | mem-estimate=340.81KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=16B cardinality=53.92K
| | in pipelines: 09(GETNEXT)
| |
| F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -429,7 +429,7 @@ PLAN-ROOT SINK
| | output: avg(ss_net_profit)
| | group by: ss_item_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=14 row-size=16B cardinality=17.98K
+| | tuple-ids=14 row-size=16B cardinality=53.92K
| | in pipelines: 09(GETNEXT)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales ss1, RANDOM]
@@ -497,7 +497,7 @@ PLAN-ROOT SINK
| in pipelines: 06(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.35MB mem-reservation=1.94MB thread-reservation=1
06:TOP-N
| order by: avg(ss_net_profit) ASC
| limit with ties: 10
@@ -543,7 +543,7 @@ Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservati
| |
| 26:EXCHANGE [HASH(ss_store_sk)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=12B cardinality=1
+| | tuple-ids=5 row-size=12B cardinality=3
| | in pipelines: 02(GETNEXT)
| |
| F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -552,7 +552,7 @@ Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservati
| | output: avg(ss_net_profit)
| | group by: ss_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=5 row-size=12B cardinality=1
+| | tuple-ids=5 row-size=12B cardinality=3
| | in pipelines: 02(GETNEXT)
| |
| 02:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -577,8 +577,8 @@ Per-Host Resources: mem-estimate=10.17MB mem-reservation=1.94MB thread-reservati
| in pipelines: 25(GETNEXT), 00(OPEN)
|
24:EXCHANGE [HASH(ss_item_sk)]
-| mem-estimate=153.62KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=17.98K
+| mem-estimate=340.81KB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=16B cardinality=53.92K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -587,7 +587,7 @@ Per-Host Resources: mem-estimate=58.23MB mem-reservation=3.00MB thread-reservati
| output: avg(ss_net_profit)
| group by: ss_item_sk
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=17.98K
+| tuple-ids=1 row-size=16B cardinality=53.92K
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales ss1, RANDOM]
@@ -605,7 +605,7 @@ Per-Host Resources: mem-estimate=58.23MB mem-reservation=3.00MB thread-reservati
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=63.88MB Threads=27
-Per-Host Resource Estimates: Memory=350MB
+Per-Host Resource Estimates: Memory=352MB
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -699,7 +699,7 @@ PLAN-ROOT SINK
| | in pipelines: 15(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.66MB mem-reservation=1.94MB thread-reservation=1
| 15:TOP-N
| | order by: avg(ss_net_profit) DESC
| | limit with ties: 10
@@ -752,7 +752,7 @@ PLAN-ROOT SINK
| | |
| | 35:EXCHANGE [HASH(ss_store_sk)]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=18 row-size=12B cardinality=1
+| | | tuple-ids=18 row-size=12B cardinality=6
| | | in pipelines: 11(GETNEXT)
| | |
| | F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -761,7 +761,7 @@ PLAN-ROOT SINK
| | | output: avg(ss_net_profit)
| | | group by: ss_store_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=18 row-size=12B cardinality=1
+| | | tuple-ids=18 row-size=12B cardinality=6
| | | in pipelines: 11(GETNEXT)
| | |
| | 11:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -786,8 +786,8 @@ PLAN-ROOT SINK
| | in pipelines: 34(GETNEXT), 09(OPEN)
| |
| 33:EXCHANGE [HASH(ss_item_sk)]
-| | mem-estimate=213.62KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=16B cardinality=17.98K
+| | mem-estimate=673.72KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=14 row-size=16B cardinality=106.31K
| | in pipelines: 09(GETNEXT)
| |
| F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -796,7 +796,7 @@ PLAN-ROOT SINK
| | output: avg(ss_net_profit)
| | group by: ss_item_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=14 row-size=16B cardinality=17.98K
+| | tuple-ids=14 row-size=16B cardinality=106.31K
| | in pipelines: 09(GETNEXT)
| |
| 09:SCAN HDFS [tpcds_parquet.store_sales ss1, RANDOM]
@@ -872,7 +872,7 @@ PLAN-ROOT SINK
| in pipelines: 06(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.66MB mem-reservation=1.94MB thread-reservation=1
06:TOP-N
| order by: avg(ss_net_profit) ASC
| limit with ties: 10
@@ -925,7 +925,7 @@ Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reser
| |
| 26:EXCHANGE [HASH(ss_store_sk)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=12B cardinality=1
+| | tuple-ids=5 row-size=12B cardinality=6
| | in pipelines: 02(GETNEXT)
| |
| F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -934,7 +934,7 @@ Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reser
| | output: avg(ss_net_profit)
| | group by: ss_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=5 row-size=12B cardinality=1
+| | tuple-ids=5 row-size=12B cardinality=6
| | in pipelines: 02(GETNEXT)
| |
| 02:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
@@ -959,8 +959,8 @@ Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reser
| in pipelines: 25(GETNEXT), 00(OPEN)
|
24:EXCHANGE [HASH(ss_item_sk)]
-| mem-estimate=213.62KB mem-reservation=0B thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=17.98K
+| mem-estimate=673.72KB mem-reservation=0B thread-reservation=0
+| tuple-ids=1 row-size=16B cardinality=106.31K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -969,7 +969,7 @@ Per-Instance Resources: mem-estimate=26.47MB mem-reservation=3.00MB thread-reser
| output: avg(ss_net_profit)
| group by: ss_item_sk
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=1 row-size=16B cardinality=17.98K
+| tuple-ids=1 row-size=16B cardinality=106.31K
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales ss1, RANDOM]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q45.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q45.test
index e11cd8ca3..5f64b55ac 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q45.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q45.test
@@ -192,7 +192,7 @@ PLAN-ROOT SINK
| in pipelines: 13(GETNEXT)
|
F08:PLAN FRAGMENT [HASH(ca_zip,ca_city)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=11.40MB mem-reservation=2.88MB thread-reservation=1
+Per-Host Resources: mem-estimate=11.46MB mem-reservation=2.88MB thread-reservation=1
13:TOP-N [LIMIT=100]
| order by: ca_zip ASC, ca_city ASC
| mem-estimate=5.27KB mem-reservation=0B thread-reservation=0
@@ -207,8 +207,8 @@ Per-Host Resources: mem-estimate=11.40MB mem-reservation=2.88MB thread-reservati
| in pipelines: 23(GETNEXT), 00(OPEN)
|
22:EXCHANGE [HASH(ca_zip,ca_city)]
-| mem-estimate=1.40MB mem-reservation=0B thread-reservation=0
-| tuple-ids=8 row-size=54B cardinality=50.00K
+| mem-estimate=1.46MB mem-reservation=0B thread-reservation=0
+| tuple-ids=8 row-size=54B cardinality=52.20K
| in pipelines: 00(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(c_current_addr_sk)] hosts=2 instances=2
@@ -217,7 +217,7 @@ Per-Host Resources: mem-estimate=22.98MB mem-reservation=11.75MB thread-reservat
| output: sum(ws_sales_price)
| group by: ca_zip, ca_city
| mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=8 row-size=54B cardinality=50.00K
+| tuple-ids=8 row-size=54B cardinality=52.20K
| in pipelines: 00(GETNEXT)
|
11:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
@@ -405,7 +405,7 @@ PLAN-ROOT SINK
| in pipelines: 13(GETNEXT)
|
F08:PLAN FRAGMENT [HASH(ca_zip,ca_city)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=11.40MB mem-reservation=2.88MB thread-reservation=1
+Per-Instance Resources: mem-estimate=11.46MB mem-reservation=2.88MB thread-reservation=1
13:TOP-N [LIMIT=100]
| order by: ca_zip ASC, ca_city ASC
| mem-estimate=5.27KB mem-reservation=0B thread-reservation=0
@@ -420,8 +420,8 @@ Per-Instance Resources: mem-estimate=11.40MB mem-reservation=2.88MB thread-reser
| in pipelines: 23(GETNEXT), 00(OPEN)
|
22:EXCHANGE [HASH(ca_zip,ca_city)]
-| mem-estimate=1.40MB mem-reservation=0B thread-reservation=0
-| tuple-ids=8 row-size=54B cardinality=50.00K
+| mem-estimate=1.46MB mem-reservation=0B thread-reservation=0
+| tuple-ids=8 row-size=54B cardinality=52.20K
| in pipelines: 00(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(c_current_addr_sk)] hosts=2 instances=2
@@ -430,7 +430,7 @@ Per-Instance Resources: mem-estimate=11.96MB mem-reservation=3.00MB thread-reser
| output: sum(ws_sales_price)
| group by: ca_zip, ca_city
| mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=8 row-size=54B cardinality=50.00K
+| tuple-ids=8 row-size=54B cardinality=52.20K
| in pipelines: 00(GETNEXT)
|
11:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q48.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q48.test
index e1ff6cea5..a6846f561 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q48.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q48.test
@@ -166,7 +166,7 @@ PLAN-ROOT SINK
|
15:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=8B cardinality=1
+| tuple-ids=5 row-size=8B cardinality=3
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(ss_cdemo_sk)] hosts=3 instances=3
@@ -174,7 +174,7 @@ Per-Host Resources: mem-estimate=19.70MB mem-reservation=12.44MB thread-reservat
09:AGGREGATE
| output: sum(CAST(ss_quantity AS BIGINT))
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=8B cardinality=1
+| tuple-ids=5 row-size=8B cardinality=3
| in pipelines: 09(GETNEXT), 00(OPEN)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -323,7 +323,7 @@ PLAN-ROOT SINK
|
15:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=8B cardinality=1
+| tuple-ids=5 row-size=8B cardinality=6
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(ss_cdemo_sk)] hosts=3 instances=6
@@ -331,7 +331,7 @@ Per-Instance Resources: mem-estimate=825.95KB mem-reservation=0B thread-reservat
09:AGGREGATE
| output: sum(CAST(ss_quantity AS BIGINT))
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=5 row-size=8B cardinality=1
+| tuple-ids=5 row-size=8B cardinality=6
| in pipelines: 09(GETNEXT), 00(OPEN)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q50.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q50.test
index 3068bab8d..ef2be3860 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q50.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q50.test
@@ -208,8 +208,8 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(s_store_name,s_company_id,s_street_number,s_street_name,s_street_type,s_suite_number,s_city,s_county,s_state,s_zip)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=209B cardinality=12
+| mem-estimate=24.94KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=209B cardinality=36
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -218,7 +218,7 @@ Per-Host Resources: mem-estimate=110.68MB mem-reservation=40.75MB thread-reserva
| output: sum(CAST(CASE WHEN (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) <= CAST(30 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) > CAST(30 AS BIGINT)) AND (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) <= CAST(60 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(sr_ [...]
| group by: s_store_name, s_company_id, s_street_number, s_street_name, s_street_type, s_suite_number, s_city, s_county, s_state, s_zip
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=5 row-size=209B cardinality=12
+| tuple-ids=5 row-size=209B cardinality=36
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -338,7 +338,7 @@ Per-Host Resources: mem-estimate=110.68MB mem-reservation=40.75MB thread-reserva
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=86.46MB Threads=13
-Per-Host Resource Estimates: Memory=225MB
+Per-Host Resource Estimates: Memory=226MB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -353,7 +353,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(s_store_name,s_company_id,s_street_number,s_street_name,s_street_type,s_suite_number,s_city,s_county,s_state,s_zip)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.09MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: s_store_name ASC, s_company_id ASC, s_street_number ASC, s_street_name ASC, s_street_type ASC, s_suite_number ASC, s_city ASC, s_county ASC, s_state ASC, s_zip ASC
| mem-estimate=2.45KB mem-reservation=0B thread-reservation=0
@@ -368,8 +368,8 @@ Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reser
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(s_store_name,s_company_id,s_street_number,s_street_name,s_street_type,s_suite_number,s_city,s_county,s_state,s_zip)]
-| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=209B cardinality=12
+| mem-estimate=94.87KB mem-reservation=0B thread-reservation=0
+| tuple-ids=5 row-size=209B cardinality=72
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -379,7 +379,7 @@ Per-Instance Resources: mem-estimate=31.00MB mem-reservation=7.00MB thread-reser
| output: sum(CAST(CASE WHEN (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) <= CAST(30 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) > CAST(30 AS BIGINT)) AND (CAST(sr_returned_date_sk AS BIGINT) - CAST(ss_sold_date_sk AS BIGINT) <= CAST(60 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(sr_ [...]
| group by: s_store_name, s_company_id, s_street_number, s_street_name, s_street_type, s_suite_number, s_city, s_county, s_state, s_zip
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-| tuple-ids=5 row-size=209B cardinality=12
+| tuple-ids=5 row-size=209B cardinality=72
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q59.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q59.test
index afc2b0acb..e89bf50f2 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q59.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q59.test
@@ -260,7 +260,7 @@ PLAN-ROOT SINK
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=87.54MB Threads=20
-Per-Host Resource Estimates: Memory=416MB
+Per-Host Resource Estimates: Memory=426MB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.09MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -296,7 +296,7 @@ Per-Host Resources: mem-estimate=13.17MB mem-reservation=6.75MB thread-reservati
| | in pipelines: 25(GETNEXT)
| |
| F07:PLAN FRAGMENT [HASH(d_week_seq,ss_store_sk)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=18.76MB mem-reservation=10.62MB thread-reservation=1 runtime-filters-memory=2.00MB
+| Per-Host Resources: mem-estimate=23.63MB mem-reservation=10.62MB thread-reservation=1 runtime-filters-memory=2.00MB
| 15:HASH JOIN [INNER JOIN, BROADCAST]
| | hash predicates: ss_store_sk = s_store_sk
| | fk/pk conjuncts: ss_store_sk = s_store_sk
@@ -358,8 +358,8 @@ Per-Host Resources: mem-estimate=13.17MB mem-reservation=6.75MB thread-reservati
| | in pipelines: 25(GETNEXT), 08(OPEN)
| |
| 24:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
-| | mem-estimate=2.80MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=9 row-size=120B cardinality=63.85K
+| | mem-estimate=7.67MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=9 row-size=120B cardinality=191.56K
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -368,7 +368,7 @@ Per-Host Resources: mem-estimate=13.17MB mem-reservation=6.75MB thread-reservati
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = [...]
| | group by: d_week_seq, ss_store_sk
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=9 row-size=120B cardinality=63.85K
+| | tuple-ids=9 row-size=120B cardinality=191.56K
| | in pipelines: 08(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
@@ -415,7 +415,7 @@ Per-Host Resources: mem-estimate=13.17MB mem-reservation=6.75MB thread-reservati
| in pipelines: 20(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(d_week_seq,ss_store_sk)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=18.76MB mem-reservation=10.62MB thread-reservation=1 runtime-filters-memory=2.00MB
+Per-Host Resources: mem-estimate=23.63MB mem-reservation=10.62MB thread-reservation=1 runtime-filters-memory=2.00MB
07:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: ss_store_sk = s_store_sk
| fk/pk conjuncts: ss_store_sk = s_store_sk
@@ -479,8 +479,8 @@ Per-Host Resources: mem-estimate=18.76MB mem-reservation=10.62MB thread-reservat
| in pipelines: 20(GETNEXT), 00(OPEN)
|
19:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
-| mem-estimate=2.80MB mem-reservation=0B thread-reservation=0
-| tuple-ids=2 row-size=120B cardinality=63.85K
+| mem-estimate=7.67MB mem-reservation=0B thread-reservation=0
+| tuple-ids=2 row-size=120B cardinality=191.56K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -489,7 +489,7 @@ Per-Host Resources: mem-estimate=57.67MB mem-reservation=24.25MB thread-reservat
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Sa [...]
| group by: d_week_seq, ss_store_sk
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=2 row-size=120B cardinality=63.85K
+| tuple-ids=2 row-size=120B cardinality=191.56K
| in pipelines: 00(GETNEXT)
|
02:HASH JOIN [INNER JOIN, BROADCAST]
@@ -531,7 +531,7 @@ Per-Host Resources: mem-estimate=57.67MB mem-reservation=24.25MB thread-reservat
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=146.79MB Threads=25
-Per-Host Resource Estimates: Memory=380MB
+Per-Host Resource Estimates: Memory=406MB
F11:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.17MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -575,7 +575,7 @@ Per-Instance Resources: mem-estimate=3.94MB mem-reservation=0B thread-reservatio
| | in pipelines: 25(GETNEXT)
| |
| F07:PLAN FRAGMENT [HASH(d_week_seq,ss_store_sk)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=14.03MB mem-reservation=2.88MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=20.73MB mem-reservation=2.88MB thread-reservation=1
| 15:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
| | hash predicates: ss_store_sk = s_store_sk
@@ -653,8 +653,8 @@ Per-Instance Resources: mem-estimate=3.94MB mem-reservation=0B thread-reservatio
| | in pipelines: 25(GETNEXT), 08(OPEN)
| |
| 24:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
-| | mem-estimate=3.16MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=9 row-size=120B cardinality=63.85K
+| | mem-estimate=10.73MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=9 row-size=120B cardinality=382.91K
| | in pipelines: 08(GETNEXT)
| |
| F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -664,7 +664,7 @@ Per-Instance Resources: mem-estimate=3.94MB mem-reservation=0B thread-reservatio
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = [...]
| | group by: d_week_seq, ss_store_sk
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=9 row-size=120B cardinality=63.85K
+| | tuple-ids=9 row-size=120B cardinality=382.91K
| | in pipelines: 08(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
@@ -720,7 +720,7 @@ Per-Instance Resources: mem-estimate=3.94MB mem-reservation=0B thread-reservatio
| in pipelines: 20(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(d_week_seq,ss_store_sk)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=14.41MB mem-reservation=2.88MB thread-reservation=1
+Per-Instance Resources: mem-estimate=20.73MB mem-reservation=2.88MB thread-reservation=1
07:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=04
| hash predicates: ss_store_sk = s_store_sk
@@ -802,8 +802,8 @@ Per-Instance Resources: mem-estimate=14.41MB mem-reservation=2.88MB thread-reser
| in pipelines: 20(GETNEXT), 00(OPEN)
|
19:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
-| mem-estimate=3.16MB mem-reservation=0B thread-reservation=0
-| tuple-ids=2 row-size=120B cardinality=63.85K
+| mem-estimate=10.73MB mem-reservation=0B thread-reservation=0
+| tuple-ids=2 row-size=120B cardinality=382.91K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -813,7 +813,7 @@ Per-Instance Resources: mem-estimate=35.91MB mem-reservation=17.50MB thread-rese
| output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Sa [...]
| group by: d_week_seq, ss_store_sk
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=2 row-size=120B cardinality=63.85K
+| tuple-ids=2 row-size=120B cardinality=382.91K
| in pipelines: 00(GETNEXT)
|
02:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q60.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q60.test
index 84eac064e..f6917dd80 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q60.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q60.test
@@ -426,12 +426,12 @@ Per-Host Resources: mem-estimate=10.26MB mem-reservation=1.94MB thread-reservati
| output: sum:merge(total_sales)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=26 row-size=44B cardinality=8.85K
+| tuple-ids=26 row-size=44B cardinality=8.65K
| in pipelines: 55(GETNEXT), 39(OPEN), 46(OPEN), 53(OPEN)
|
54:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=270.81KB mem-reservation=0B thread-reservation=0
-| tuple-ids=26 row-size=44B cardinality=8.85K
+| mem-estimate=267.92KB mem-reservation=0B thread-reservation=0
+| tuple-ids=26 row-size=44B cardinality=8.65K
| in pipelines: 39(GETNEXT), 46(GETNEXT), 53(GETNEXT)
|
F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -440,7 +440,7 @@ Per-Host Resources: mem-estimate=20.78MB mem-reservation=3.94MB thread-reservati
| output: sum(total_sales)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=26 row-size=44B cardinality=8.85K
+| tuple-ids=26 row-size=44B cardinality=8.65K
| in pipelines: 39(GETNEXT), 46(GETNEXT), 53(GETNEXT)
|
00:UNION
@@ -924,8 +924,8 @@ Per-Instance Resources: mem-estimate=10.41MB mem-reservation=1.94MB thread-reser
| in pipelines: 55(GETNEXT), 39(OPEN), 46(OPEN), 53(OPEN)
|
54:EXCHANGE [HASH(i_item_id)]
-| mem-estimate=414.81KB mem-reservation=0B thread-reservation=0
-| tuple-ids=26 row-size=44B cardinality=8.85K
+| mem-estimate=424.12KB mem-reservation=0B thread-reservation=0
+| tuple-ids=26 row-size=44B cardinality=9.50K
| in pipelines: 39(GETNEXT), 46(GETNEXT), 53(GETNEXT)
|
F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -934,7 +934,7 @@ Per-Instance Resources: mem-estimate=21.48MB mem-reservation=3.94MB thread-reser
| output: sum(total_sales)
| group by: i_item_id
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=26 row-size=44B cardinality=8.85K
+| tuple-ids=26 row-size=44B cardinality=9.50K
| in pipelines: 39(GETNEXT), 46(GETNEXT), 53(GETNEXT)
|
00:UNION
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q61.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q61.test
index b045b5b3d..08ef5234a 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q61.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q61.test
@@ -361,7 +361,7 @@ PLAN-ROOT SINK
| |
| 43:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=16B cardinality=1
+| | tuple-ids=15 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT)
| |
| F14:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
@@ -369,7 +369,7 @@ PLAN-ROOT SINK
| 25:AGGREGATE
| | output: sum(ss_ext_sales_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=16B cardinality=1
+| | tuple-ids=15 row-size=16B cardinality=3
| | in pipelines: 25(GETNEXT), 14(OPEN)
| |
| 24:HASH JOIN [INNER JOIN, BROADCAST]
@@ -537,7 +537,7 @@ PLAN-ROOT SINK
|
35:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=7 row-size=16B cardinality=1
+| tuple-ids=7 row-size=16B cardinality=3
| in pipelines: 13(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
@@ -545,7 +545,7 @@ Per-Host Resources: mem-estimate=8.69MB mem-reservation=6.81MB thread-reservatio
13:AGGREGATE
| output: sum(ss_ext_sales_price)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=7 row-size=16B cardinality=1
+| tuple-ids=7 row-size=16B cardinality=3
| in pipelines: 13(GETNEXT), 00(OPEN)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
@@ -772,7 +772,7 @@ PLAN-ROOT SINK
| |
| 43:EXCHANGE [UNPARTITIONED]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=16B cardinality=1
+| | tuple-ids=15 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT)
| |
| F14:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
@@ -780,7 +780,7 @@ PLAN-ROOT SINK
| 25:AGGREGATE
| | output: sum(ss_ext_sales_price)
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=16B cardinality=1
+| | tuple-ids=15 row-size=16B cardinality=6
| | in pipelines: 25(GETNEXT), 14(OPEN)
| |
| 24:HASH JOIN [INNER JOIN, BROADCAST]
@@ -990,7 +990,7 @@ PLAN-ROOT SINK
|
35:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=7 row-size=16B cardinality=1
+| tuple-ids=7 row-size=16B cardinality=6
| in pipelines: 13(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
@@ -998,7 +998,7 @@ Per-Instance Resources: mem-estimate=1.45MB mem-reservation=0B thread-reservatio
13:AGGREGATE
| output: sum(ss_ext_sales_price)
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=7 row-size=16B cardinality=1
+| tuple-ids=7 row-size=16B cardinality=6
| in pipelines: 13(GETNEXT), 00(OPEN)
|
12:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q62.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q62.test
index 3fa48775d..a23a778db 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q62.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q62.test
@@ -169,7 +169,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(w_substr,sm_type,web_name)] hosts=2 instances=2
-Per-Host Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=10.05MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: w_substr ASC, sm_type ASC, web_name ASC
| mem-estimate=8.74KB mem-reservation=0B thread-reservation=0
@@ -184,8 +184,8 @@ Per-Host Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reservati
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(w_substr,sm_type,web_name)]
-| mem-estimate=27.16KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=90B cardinality=120
+| mem-estimate=54.32KB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=90B cardinality=240
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -194,7 +194,7 @@ Per-Host Resources: mem-estimate=182.48MB mem-reservation=17.75MB thread-reserva
| output: sum(CAST(CASE WHEN (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) <= CAST(30 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) > CAST(30 AS BIGINT)) AND (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) <= CAST(60 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(ws_ship_date_sk [...]
| group by: substring(w_warehouse_name, CAST(1 AS BIGINT), CAST(20 AS BIGINT)), sm_type, web_name
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=90B cardinality=120
+| tuple-ids=6 row-size=90B cardinality=240
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
@@ -327,7 +327,7 @@ PLAN-ROOT SINK
| in pipelines: 10(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(w_substr,sm_type,web_name)] hosts=2 instances=2
-Per-Instance Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=10.05MB mem-reservation=1.94MB thread-reservation=1
10:TOP-N [LIMIT=100]
| order by: w_substr ASC, sm_type ASC, web_name ASC
| mem-estimate=8.74KB mem-reservation=0B thread-reservation=0
@@ -342,8 +342,8 @@ Per-Instance Resources: mem-estimate=10.03MB mem-reservation=1.94MB thread-reser
| in pipelines: 16(GETNEXT), 00(OPEN)
|
15:EXCHANGE [HASH(w_substr,sm_type,web_name)]
-| mem-estimate=27.16KB mem-reservation=0B thread-reservation=0
-| tuple-ids=6 row-size=90B cardinality=120
+| mem-estimate=54.32KB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=90B cardinality=240
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -353,7 +353,7 @@ Per-Instance Resources: mem-estimate=42.73MB mem-reservation=6.00MB thread-reser
| output: sum(CAST(CASE WHEN (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) <= CAST(30 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) > CAST(30 AS BIGINT)) AND (CAST(ws_ship_date_sk AS BIGINT) - CAST(ws_sold_date_sk AS BIGINT) <= CAST(60 AS BIGINT)) THEN CAST(1 AS TINYINT) ELSE CAST(0 AS TINYINT) END AS BIGINT)), sum(CAST(CASE WHEN (CAST(ws_ship_date_sk [...]
| group by: substring(w_warehouse_name, CAST(1 AS BIGINT), CAST(20 AS BIGINT)), sm_type, web_name
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=6 row-size=90B cardinality=120
+| tuple-ids=6 row-size=90B cardinality=240
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q64.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q64.test
index 7f06e2a57..77c3c41c4 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q64.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q64.test
@@ -957,7 +957,7 @@ Per-Host Resources: mem-estimate=75.11MB mem-reservation=46.00MB thread-reservat
| | | in pipelines: 136(GETNEXT)
| | |
| | F56:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-| | Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Host Resources: mem-estimate=10.81MB mem-reservation=1.94MB thread-reservation=1
| | 136:AGGREGATE [FINALIZE]
| | | output: sum:merge(cs_ext_list_price), sum:merge(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | | group by: cs_item_sk
@@ -967,8 +967,8 @@ Per-Host Resources: mem-estimate=75.11MB mem-reservation=46.00MB thread-reservat
| | | in pipelines: 136(GETNEXT), 41(OPEN)
| | |
| | 135:EXCHANGE [HASH(cs_item_sk)]
-| | | mem-estimate=366.05KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=27 row-size=40B cardinality=17.98K
+| | | mem-estimate=834.15KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=27 row-size=40B cardinality=53.92K
| | | in pipelines: 41(GETNEXT)
| | |
| | F54:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -977,7 +977,7 @@ Per-Host Resources: mem-estimate=75.11MB mem-reservation=46.00MB thread-reservat
| | | output: sum(cs_ext_list_price), sum(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | | group by: cs_item_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=27 row-size=40B cardinality=17.98K
+| | | tuple-ids=27 row-size=40B cardinality=53.92K
| | | in pipelines: 41(GETNEXT)
| | |
| | 43:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1538,7 +1538,7 @@ Per-Host Resources: mem-estimate=48.81MB mem-reservation=42.69MB thread-reservat
| | in pipelines: 106(GETNEXT)
| |
| F27:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+| Per-Host Resources: mem-estimate=10.81MB mem-reservation=1.94MB thread-reservation=1
| 106:AGGREGATE [FINALIZE]
| | output: sum:merge(cs_ext_list_price), sum:merge(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | group by: cs_item_sk
@@ -1548,8 +1548,8 @@ Per-Host Resources: mem-estimate=48.81MB mem-reservation=42.69MB thread-reservat
| | in pipelines: 106(GETNEXT), 02(OPEN)
| |
| 105:EXCHANGE [HASH(cs_item_sk)]
-| | mem-estimate=366.05KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=40B cardinality=17.98K
+| | mem-estimate=834.15KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=40B cardinality=53.92K
| | in pipelines: 02(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1558,7 +1558,7 @@ Per-Host Resources: mem-estimate=48.81MB mem-reservation=42.69MB thread-reservat
| | output: sum(cs_ext_list_price), sum(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | group by: cs_item_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=4 row-size=40B cardinality=17.98K
+| | tuple-ids=4 row-size=40B cardinality=53.92K
| | in pipelines: 02(GETNEXT)
| |
| 04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2168,7 +2168,7 @@ Per-Instance Resources: mem-estimate=26.83MB mem-reservation=12.00MB thread-rese
| | | in pipelines: 136(GETNEXT)
| | |
| | F56:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-| | Per-Instance Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=10.81MB mem-reservation=1.94MB thread-reservation=1
| | 136:AGGREGATE [FINALIZE]
| | | output: sum:merge(cs_ext_list_price), sum:merge(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | | group by: cs_item_sk
@@ -2178,8 +2178,8 @@ Per-Instance Resources: mem-estimate=26.83MB mem-reservation=12.00MB thread-rese
| | | in pipelines: 136(GETNEXT), 41(OPEN)
| | |
| | 135:EXCHANGE [HASH(cs_item_sk)]
-| | | mem-estimate=366.05KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=27 row-size=40B cardinality=17.98K
+| | | mem-estimate=834.15KB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=27 row-size=40B cardinality=53.92K
| | | in pipelines: 41(GETNEXT)
| | |
| | F54:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2189,7 +2189,7 @@ Per-Instance Resources: mem-estimate=26.83MB mem-reservation=12.00MB thread-rese
| | | output: sum(cs_ext_list_price), sum(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | | group by: cs_item_sk
| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=27 row-size=40B cardinality=17.98K
+| | | tuple-ids=27 row-size=40B cardinality=53.92K
| | | in pipelines: 41(GETNEXT)
| | |
| | 43:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2895,7 +2895,7 @@ Per-Instance Resources: mem-estimate=27.11MB mem-reservation=17.00MB thread-rese
| | in pipelines: 106(GETNEXT)
| |
| F27:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=3
-| Per-Instance Resources: mem-estimate=10.36MB mem-reservation=1.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.81MB mem-reservation=1.94MB thread-reservation=1
| 106:AGGREGATE [FINALIZE]
| | output: sum:merge(cs_ext_list_price), sum:merge(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | group by: cs_item_sk
@@ -2905,8 +2905,8 @@ Per-Instance Resources: mem-estimate=27.11MB mem-reservation=17.00MB thread-rese
| | in pipelines: 106(GETNEXT), 02(OPEN)
| |
| 105:EXCHANGE [HASH(cs_item_sk)]
-| | mem-estimate=366.05KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=40B cardinality=17.98K
+| | mem-estimate=834.15KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=40B cardinality=53.92K
| | in pipelines: 02(GETNEXT)
| |
| F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2916,7 +2916,7 @@ Per-Instance Resources: mem-estimate=27.11MB mem-reservation=17.00MB thread-rese
| | output: sum(cs_ext_list_price), sum(cr_refunded_cash + cr_reversed_charge + cr_store_credit)
| | group by: cs_item_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=4 row-size=40B cardinality=17.98K
+| | tuple-ids=4 row-size=40B cardinality=53.92K
| | in pipelines: 02(GETNEXT)
| |
| 04:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q65.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q65.test
index 906e9a568..0a550b9b6 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q65.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q65.test
@@ -202,7 +202,7 @@ PLAN-ROOT SINK
in pipelines: 07(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=56.33MB Threads=17
-Per-Host Resource Estimates: Memory=365MB
+Per-Host Resource Estimates: Memory=369MB
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -249,16 +249,16 @@ Per-Host Resources: mem-estimate=11.49MB mem-reservation=6.81MB thread-reservati
| |
| 24:EXCHANGE [HASH(ss_store_sk)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=6 row-size=20B cardinality=6
+| | tuple-ids=6 row-size=20B cardinality=18
| | in pipelines: 23(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(ss_store_sk,ss_item_sk)] hosts=3 instances=3
-| Per-Host Resources: mem-estimate=21.05MB mem-reservation=4.88MB thread-reservation=1
+| Per-Host Resources: mem-estimate=22.97MB mem-reservation=4.88MB thread-reservation=1
| 06:AGGREGATE [STREAMING]
| | output: avg(sum(ss_sales_price))
| | group by: ss_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=6 row-size=20B cardinality=6
+| | tuple-ids=6 row-size=20B cardinality=18
| | in pipelines: 23(GETNEXT)
| |
| 23:AGGREGATE [FINALIZE]
@@ -269,8 +269,8 @@ Per-Host Resources: mem-estimate=11.49MB mem-reservation=6.81MB thread-reservati
| | in pipelines: 23(GETNEXT), 02(OPEN)
| |
| 22:EXCHANGE [HASH(ss_store_sk,ss_item_sk)]
-| | mem-estimate=1.05MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=28B cardinality=107.85K
+| | mem-estimate=2.97MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=28B cardinality=323.51K
| | in pipelines: 02(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -279,7 +279,7 @@ Per-Host Resources: mem-estimate=11.49MB mem-reservation=6.81MB thread-reservati
| | output: sum(ss_sales_price)
| | group by: ss_store_sk, ss_item_sk
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=4 row-size=28B cardinality=107.85K
+| | tuple-ids=4 row-size=28B cardinality=323.51K
| | in pipelines: 02(GETNEXT)
| |
| 04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -353,7 +353,7 @@ Per-Host Resources: mem-estimate=11.49MB mem-reservation=6.81MB thread-reservati
| in pipelines: 17(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(ss_store_sk,ss_item_sk)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=14.01MB mem-reservation=5.81MB thread-reservation=1 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=15.93MB mem-reservation=5.81MB thread-reservation=1 runtime-filters-memory=1.00MB
11:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: ss_store_sk = s_store_sk
| fk/pk conjuncts: ss_store_sk = s_store_sk
@@ -388,8 +388,8 @@ Per-Host Resources: mem-estimate=14.01MB mem-reservation=5.81MB thread-reservati
| in pipelines: 17(GETNEXT), 07(OPEN)
|
16:EXCHANGE [HASH(ss_store_sk,ss_item_sk)]
-| mem-estimate=1.05MB mem-reservation=0B thread-reservation=0
-| tuple-ids=11 row-size=28B cardinality=107.85K
+| mem-estimate=2.97MB mem-reservation=0B thread-reservation=0
+| tuple-ids=11 row-size=28B cardinality=323.51K
| in pipelines: 07(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -398,7 +398,7 @@ Per-Host Resources: mem-estimate=64.31MB mem-reservation=15.94MB thread-reservat
| output: sum(ss_sales_price)
| group by: ss_store_sk, ss_item_sk
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=11 row-size=28B cardinality=107.85K
+| tuple-ids=11 row-size=28B cardinality=323.51K
| in pipelines: 07(GETNEXT)
|
09:HASH JOIN [INNER JOIN, BROADCAST]
@@ -442,7 +442,7 @@ Per-Host Resources: mem-estimate=64.31MB mem-reservation=15.94MB thread-reservat
in pipelines: 07(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=94.02MB Threads=23
-Per-Host Resource Estimates: Memory=305MB
+Per-Host Resource Estimates: Memory=324MB
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.11MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -497,16 +497,16 @@ Per-Instance Resources: mem-estimate=2.00MB mem-reservation=0B thread-reservatio
| |
| 24:EXCHANGE [HASH(ss_store_sk)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=6 row-size=20B cardinality=6
+| | tuple-ids=6 row-size=20B cardinality=36
| | in pipelines: 23(GETNEXT)
| |
| F08:PLAN FRAGMENT [HASH(ss_store_sk,ss_item_sk)] hosts=3 instances=6
-| Per-Instance Resources: mem-estimate=21.15MB mem-reservation=3.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=25.88MB mem-reservation=3.94MB thread-reservation=1
| 06:AGGREGATE [STREAMING]
| | output: avg(sum(ss_sales_price))
| | group by: ss_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=6 row-size=20B cardinality=6
+| | tuple-ids=6 row-size=20B cardinality=36
| | in pipelines: 23(GETNEXT)
| |
| 23:AGGREGATE [FINALIZE]
@@ -517,8 +517,8 @@ Per-Instance Resources: mem-estimate=2.00MB mem-reservation=0B thread-reservatio
| | in pipelines: 23(GETNEXT), 02(OPEN)
| |
| 22:EXCHANGE [HASH(ss_store_sk,ss_item_sk)]
-| | mem-estimate=1.15MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=28B cardinality=107.85K
+| | mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=28B cardinality=639.56K
| | in pipelines: 02(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -528,7 +528,7 @@ Per-Instance Resources: mem-estimate=2.00MB mem-reservation=0B thread-reservatio
| | output: sum(ss_sales_price)
| | group by: ss_store_sk, ss_item_sk
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=4 row-size=28B cardinality=107.85K
+| | tuple-ids=4 row-size=28B cardinality=639.56K
| | in pipelines: 02(GETNEXT)
| |
| 04:HASH JOIN [INNER JOIN, BROADCAST]
@@ -618,7 +618,7 @@ Per-Instance Resources: mem-estimate=2.00MB mem-reservation=0B thread-reservatio
| in pipelines: 17(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(ss_store_sk,ss_item_sk)] hosts=3 instances=6
-Per-Instance Resources: mem-estimate=11.32MB mem-reservation=1.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=15.88MB mem-reservation=1.94MB thread-reservation=1
11:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=03
| hash predicates: ss_store_sk = s_store_sk
@@ -662,8 +662,8 @@ Per-Instance Resources: mem-estimate=11.32MB mem-reservation=1.94MB thread-reser
| in pipelines: 17(GETNEXT), 07(OPEN)
|
16:EXCHANGE [HASH(ss_store_sk,ss_item_sk)]
-| mem-estimate=1.15MB mem-reservation=0B thread-reservation=0
-| tuple-ids=11 row-size=28B cardinality=107.85K
+| mem-estimate=5.88MB mem-reservation=0B thread-reservation=0
+| tuple-ids=11 row-size=28B cardinality=639.56K
| in pipelines: 07(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -673,7 +673,7 @@ Per-Instance Resources: mem-estimate=26.75MB mem-reservation=10.00MB thread-rese
| output: sum(ss_sales_price)
| group by: ss_store_sk, ss_item_sk
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=11 row-size=28B cardinality=107.85K
+| tuple-ids=11 row-size=28B cardinality=639.56K
| in pipelines: 07(GETNEXT)
|
09:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q66.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q66.test
index f76dc39cd..a837d29c7 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q66.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q66.test
@@ -477,7 +477,7 @@ Per-Host Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reservati
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reservation=1
+Per-Host Resources: mem-estimate=28.43MB mem-reservation=3.94MB thread-reservation=1
21:AGGREGATE [STREAMING]
| output: sum(jan_sales), sum(feb_sales), sum(mar_sales), sum(apr_sales), sum(may_sales), sum(jun_sales), sum(jul_sales), sum(aug_sales), sum(sep_sales), sum(oct_sales), sum(nov_sales), sum(dec_sales), sum(jan_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(feb_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(mar_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(apr_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(may_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10, [...]
| group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, ship_carriers, year
@@ -498,8 +498,8 @@ Per-Host Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reservati
| | in pipelines: 34(GETNEXT), 11(OPEN)
| |
| 33:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sq_ft,w_city,w_county,w_state,w_country,d_year)]
-| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=11 row-size=510B cardinality=5
+| | mem-estimate=25.05KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=11 row-size=510B cardinality=15
| | in pipelines: 11(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -508,7 +508,7 @@ Per-Host Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reservati
| | output: sum(CASE WHEN d_moy = CAST(1 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(2 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(3 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(4 AS INT) THEN cs_ext_list_price * CAST(cs_quantity [...]
| | group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=11 row-size=510B cardinality=5
+| | tuple-ids=11 row-size=510B cardinality=15
| | in pipelines: 11(GETNEXT)
| |
| 19:HASH JOIN [INNER JOIN, BROADCAST]
@@ -640,7 +640,7 @@ Per-Host Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reservati
|
27:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sq_ft,w_city,w_county,w_state,w_country,d_year)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=510B cardinality=5
+| tuple-ids=5 row-size=510B cardinality=10
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -649,7 +649,7 @@ Per-Host Resources: mem-estimate=251.77MB mem-reservation=21.75MB thread-reserva
| output: sum(CASE WHEN d_moy = CAST(1 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(2 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(3 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(4 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0 [...]
| group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=510B cardinality=5
+| tuple-ids=5 row-size=510B cardinality=10
| in pipelines: 01(GETNEXT)
|
09:HASH JOIN [INNER JOIN, BROADCAST]
@@ -808,7 +808,7 @@ Per-Instance Resources: mem-estimate=10.02MB mem-reservation=1.94MB thread-reser
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Instance Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=28.43MB mem-reservation=3.94MB thread-reservation=1
21:AGGREGATE [STREAMING]
| output: sum(jan_sales), sum(feb_sales), sum(mar_sales), sum(apr_sales), sum(may_sales), sum(jun_sales), sum(jul_sales), sum(aug_sales), sum(sep_sales), sum(oct_sales), sum(nov_sales), sum(dec_sales), sum(jan_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(feb_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(mar_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(apr_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10,0))), sum(may_sales / CAST(w_warehouse_sq_ft AS DECIMAL(10, [...]
| group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, ship_carriers, year
@@ -829,8 +829,8 @@ Per-Instance Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reser
| | in pipelines: 34(GETNEXT), 11(OPEN)
| |
| 33:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sq_ft,w_city,w_county,w_state,w_country,d_year)]
-| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=11 row-size=510B cardinality=5
+| | mem-estimate=25.05KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=11 row-size=510B cardinality=15
| | in pipelines: 11(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -840,7 +840,7 @@ Per-Instance Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reser
| | output: sum(CASE WHEN d_moy = CAST(1 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(2 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(3 AS INT) THEN cs_ext_list_price * CAST(cs_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(4 AS INT) THEN cs_ext_list_price * CAST(cs_quantity [...]
| | group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=11 row-size=510B cardinality=5
+| | tuple-ids=11 row-size=510B cardinality=15
| | in pipelines: 11(GETNEXT)
| |
| 19:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1004,7 +1004,7 @@ Per-Instance Resources: mem-estimate=28.42MB mem-reservation=3.94MB thread-reser
|
27:EXCHANGE [HASH(w_warehouse_name,w_warehouse_sq_ft,w_city,w_county,w_state,w_country,d_year)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=5 row-size=510B cardinality=5
+| tuple-ids=5 row-size=510B cardinality=10
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1014,7 +1014,7 @@ Per-Instance Resources: mem-estimate=48.02MB mem-reservation=10.00MB thread-rese
| output: sum(CASE WHEN d_moy = CAST(1 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(2 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(3 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0)) ELSE CAST(0 AS DECIMAL(18,2)) END), sum(CASE WHEN d_moy = CAST(4 AS INT) THEN ws_sales_price * CAST(ws_quantity AS DECIMAL(10,0 [...]
| group by: w_warehouse_name, w_warehouse_sq_ft, w_city, w_county, w_state, w_country, d_year
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=5 row-size=510B cardinality=5
+| tuple-ids=5 row-size=510B cardinality=10
| in pipelines: 01(GETNEXT)
|
09:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q67.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q67.test
index 2938c1fbc..7b8bfc113 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q67.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q67.test
@@ -186,8 +186,8 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=426.45MB Threads=11
-Per-Host Resource Estimates: Memory=5.86GB
+Max Per-Host Resource Reservation: Memory=478.39MB Threads=11
+Per-Host Resource Estimates: Memory=5.91GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -237,7 +237,7 @@ Per-Host Resources: mem-estimate=4.08MB mem-reservation=4.00MB thread-reservatio
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Host Resources: mem-estimate=2.44GB mem-reservation=192.81MB thread-reservation=1
+Per-Host Resources: mem-estimate=2.48GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -281,13 +281,13 @@ Per-Host Resources: mem-estimate=2.44GB mem-reservation=192.81MB thread-reservat
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.06GB mem-reservation=158.81MB thread-reservation=0
+| mem-estimate=2.11GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=13.32MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -321,7 +321,7 @@ Per-Host Resources: mem-estimate=3.23GB mem-reservation=223.62MB thread-reservat
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=3.14GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.63M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
@@ -414,8 +414,8 @@ Per-Host Resources: mem-estimate=3.23GB mem-reservation=223.62MB thread-reservat
tuple-ids=0 row-size=24B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=831.89MB Threads=13
-Per-Host Resource Estimates: Memory=9.13GB
+Max Per-Host Resource Reservation: Memory=950.77MB Threads=13
+Per-Host Resource Estimates: Memory=9.22GB
F06:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
PLAN-ROOT SINK
@@ -465,7 +465,7 @@ Per-Instance Resources: mem-estimate=4.13MB mem-reservation=4.00MB thread-reserv
| in pipelines: 09(GETNEXT)
|
F04:PLAN FRAGMENT [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHE [...]
-Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-reservation=1
+Per-Instance Resources: mem-estimate=2.27GB mem-reservation=244.75MB thread-reservation=1
09:TOP-N
| order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quan [...]
| limit with ties: 200
@@ -509,13 +509,13 @@ Per-Instance Resources: mem-estimate=2.22GB mem-reservation=185.31MB thread-rese
| Class 8
| output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-| mem-estimate=2.03GB mem-reservation=151.31MB thread-reservation=0
+| mem-estimate=2.08GB mem-reservation=210.75MB thread-reservation=0
| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
| in pipelines: 17(GETNEXT), 00(OPEN)
|
16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 TH [...]
| mem-estimate=16.64MB mem-reservation=0B thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -550,7 +550,7 @@ Per-Instance Resources: mem-estimate=2.30GB mem-reservation=212.00MB thread-rese
| output: sum(coalesce(ss_sales_price * CAST(ss_quantity AS DECIMAL(10,0)), CAST(0 AS DECIMAL(18,2))))
| group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
| mem-estimate=2.26GB mem-reservation=211.00MB thread-reservation=0
-| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.56M
+| tuple-ids=4N,5N,6N,7N,8N,9N,10N,11N,12N row-size=1.07KB cardinality=11.74M
| in pipelines: 00(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q69.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q69.test
index 75df60c50..9ad387ae1 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q69.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q69.test
@@ -271,8 +271,8 @@ Per-Host Resources: mem-estimate=10.38MB mem-reservation=1.94MB thread-reservati
| in pipelines: 29(GETNEXT), 09(OPEN)
|
28:EXCHANGE [HASH(cd_gender,cd_marital_status,cd_education_status,cd_purchase_estimate,cd_credit_rating)]
-| mem-estimate=390.95KB mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=79B cardinality=5.60K
+| mem-estimate=391.20KB mem-reservation=0B thread-reservation=0
+| tuple-ids=12 row-size=79B cardinality=5.61K
| in pipelines: 09(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(c.c_customer_sk)] hosts=3 instances=3
@@ -281,7 +281,7 @@ Per-Host Resources: mem-estimate=18.75MB mem-reservation=8.81MB thread-reservati
| output: count(*)
| group by: cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=12 row-size=79B cardinality=5.60K
+| tuple-ids=12 row-size=79B cardinality=5.61K
| in pipelines: 09(GETNEXT)
|
16:HASH JOIN [RIGHT ANTI JOIN, PARTITIONED]
@@ -545,8 +545,8 @@ Per-Instance Resources: mem-estimate=10.38MB mem-reservation=1.94MB thread-reser
| in pipelines: 29(GETNEXT), 09(OPEN)
|
28:EXCHANGE [HASH(cd_gender,cd_marital_status,cd_education_status,cd_purchase_estimate,cd_credit_rating)]
-| mem-estimate=390.95KB mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=79B cardinality=5.60K
+| mem-estimate=391.20KB mem-reservation=0B thread-reservation=0
+| tuple-ids=12 row-size=79B cardinality=5.61K
| in pipelines: 09(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(c.c_customer_sk)] hosts=3 instances=3
@@ -555,7 +555,7 @@ Per-Instance Resources: mem-estimate=11.64MB mem-reservation=2.00MB thread-reser
| output: count(*)
| group by: cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating
| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=12 row-size=79B cardinality=5.60K
+| tuple-ids=12 row-size=79B cardinality=5.61K
| in pipelines: 09(GETNEXT)
|
16:HASH JOIN [RIGHT ANTI JOIN, PARTITIONED]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q70.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q70.test
index 08f6a6b3e..f62c0143f 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q70.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds/tpcds-q70.test
@@ -296,7 +296,7 @@ Per-Host Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservati
|
27:EXCHANGE [HASH(CASE valid_tid(11,12,13) WHEN 11 THEN murmur_hash(s_state) WHEN 12 THEN murmur_hash(s_state) WHEN 13 THEN murmur_hash(NULL) END,CASE valid_tid(11,12,13) WHEN 11 THEN murmur_hash(s_county) WHEN 12 THEN murmur_hash(NULL) WHEN 13 THEN murmur_hash(NULL) END)]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| tuple-ids=11N,12N,13N row-size=141B cardinality=3
+| tuple-ids=11N,12N,13N row-size=141B cardinality=9
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -312,7 +312,7 @@ Per-Host Resources: mem-estimate=72.61MB mem-reservation=15.81MB thread-reservat
| output: sum(ss_net_profit)
| group by: NULL, NULL
| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-| tuple-ids=11N,12N,13N row-size=141B cardinality=3
+| tuple-ids=11N,12N,13N row-size=141B cardinality=9
| in pipelines: 00(GETNEXT)
|
14:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
@@ -362,7 +362,7 @@ Per-Host Resources: mem-estimate=72.61MB mem-reservation=15.81MB thread-reservat
| |
| 24:EXCHANGE [HASH(s_state)]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=6 row-size=30B cardinality=1
+| | tuple-ids=6 row-size=30B cardinality=3
| | in pipelines: 03(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -371,7 +371,7 @@ Per-Host Resources: mem-estimate=72.61MB mem-reservation=15.81MB thread-reservat
| | output: sum(ss_net_profit)
| | group by: s_state
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=6 row-size=30B cardinality=1
+| | tuple-ids=6 row-size=30B cardinality=3
| | in pipelines: 03(GETNEXT)
... 18514 lines suppressed ...