You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2018/11/19 17:27:31 UTC

[4/6] impala git commit: IMPALA-7367: Pack StringValue and CollectionValue slots

http://git-wip-us.apache.org/repos/asf/impala/blob/2a4835cf/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test b/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
index 8d8f8e3..f86dd5a 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
@@ -15,9 +15,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=40.00MB Threads=3
@@ -25,13 +25,13 @@ Per-Host Resource Estimates: Memory=91MB
 Analyzed query: SELECT * FROM tpch_parquet.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.78MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.78MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -41,23 +41,23 @@ Per-Host Resources: mem-estimate=80.00MB mem-reservation=40.00MB thread-reservat
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=80.00MB Threads=3
-Per-Host Resource Estimates: Memory=172MB
+Per-Host Resource Estimates: Memory=171MB
 Analyzed query: SELECT * FROM tpch_parquet.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=11.56MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -67,9 +67,9 @@ Per-Host Resources: mem-estimate=160.00MB mem-reservation=80.00MB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Single column parquet scan - memory reservation is reduced compared to multi-column
@@ -90,9 +90,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=4.00MB Threads=3
@@ -100,13 +100,13 @@ Per-Host Resource Estimates: Memory=90MB
 Analyzed query: SELECT l_comment FROM tpch_parquet.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.14MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.12MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.14MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=42B cardinality=6001215
+|  mem-estimate=10.12MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=38B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -116,9 +116,9 @@ Per-Host Resources: mem-estimate=80.00MB mem-reservation=4.00MB thread-reservati
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -126,13 +126,13 @@ Per-Host Resource Estimates: Memory=170MB
 Analyzed query: SELECT l_comment FROM tpch_parquet.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.27MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.25MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=42B cardinality=6001215
+|  mem-estimate=10.25MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=38B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -142,9 +142,9 @@ Per-Host Resources: mem-estimate=160.00MB mem-reservation=8.00MB thread-reservat
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=0
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Small parquet files - memory reservation is reduced because of small file size.
@@ -162,14 +162,14 @@ PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=1
-   tuple-ids=0 row-size=16B cardinality=unavailable
+   tuple-ids=0 row-size=12B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=16.00KB Threads=3
@@ -179,26 +179,26 @@ functional_parquet.alltypes
 Analyzed query: SELECT string_col FROM functional_parquet.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=60.00KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=48.00KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=60.00KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=16B cardinality=unavailable
+|  mem-estimate=48.00KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=12B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
 Per-Host Resources: mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=1
-   tuple-ids=0 row-size=16B cardinality=unavailable
+   tuple-ids=0 row-size=12B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
@@ -208,26 +208,26 @@ functional_parquet.alltypes
 Analyzed query: SELECT string_col FROM functional_parquet.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=120.00KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=120.00KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=16B cardinality=unavailable
+|  mem-estimate=96.00KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=12B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
 Per-Host Resources: mem-estimate=32.00MB mem-reservation=32.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
-   tuple-ids=0 row-size=16B cardinality=unavailable
+   tuple-ids=0 row-size=12B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # Multi-column parquet scan with small files - memory reservation is reduced because of
@@ -247,14 +247,14 @@ PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=unavailable
+   tuple-ids=0 row-size=20B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=24.00KB Threads=3
@@ -265,26 +265,26 @@ Analyzed query: SELECT int_col, float_col, string_col FROM
 functional_parquet.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=83.99KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=71.99KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=83.99KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=24B cardinality=unavailable
+|  mem-estimate=71.99KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=20B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
 Per-Host Resources: mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=unavailable
+   tuple-ids=0 row-size=20B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=48.00KB Threads=3
@@ -295,26 +295,26 @@ Analyzed query: SELECT int_col, float_col, string_col FROM
 functional_parquet.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=167.99KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=143.99KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=167.99KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=24B cardinality=unavailable
+|  mem-estimate=143.99KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=20B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
 Per-Host Resources: mem-estimate=32.00MB mem-reservation=48.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
-   tuple-ids=0 row-size=24B cardinality=unavailable
+   tuple-ids=0 row-size=20B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # Parquet scan with no materialized columns. Need reservation to scan levels to determine
@@ -333,7 +333,7 @@ PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
@@ -362,7 +362,7 @@ PLAN-ROOT SINK
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
 Per-Host Resources: mem-estimate=1.00MB mem-reservation=16.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
@@ -391,7 +391,7 @@ PLAN-ROOT SINK
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
 Per-Host Resources: mem-estimate=32.00MB mem-reservation=32.00KB thread-reservation=2
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.54KB
+   partitions=24/24 files=24 size=189.12KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/24 rows=unavailable
@@ -470,7 +470,7 @@ PLAN-ROOT SINK
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=1
-   tuple-ids=0 row-size=16B cardinality=unavailable
+   tuple-ids=0 row-size=12B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, unnested in scan - should reserve memory for each column.
@@ -492,9 +492,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=24.00MB thread-reservation=1
-   tuple-ids=0 row-size=80B cardinality=1500000
+   tuple-ids=0 row-size=64B cardinality=1500000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, unnested in scan - don't reserve extra memory for "pos" virtual
@@ -517,7 +517,7 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
    tuple-ids=0 row-size=16B cardinality=1500000
    in pipelines: 00(GETNEXT)
@@ -541,7 +541,7 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
    tuple-ids=0 row-size=8B cardinality=1500000
    in pipelines: 00(GETNEXT)
@@ -567,18 +567,18 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,0 row-size=104B cardinality=1500000
+|  tuple-ids=1,0 row-size=84B cardinality=1500000
 |  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1,0 row-size=104B cardinality=10
+|  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1,0 row-size=84B cardinality=10
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     tuple-ids=0 row-size=20B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders]
@@ -593,9 +593,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns missing stats: c_orders
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=32.00MB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=150000
+   tuple-ids=0 row-size=20B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, left nested in scan - should reserve memory for each scalar
@@ -617,18 +617,18 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,0 row-size=40B cardinality=1500000
+|  tuple-ids=1,0 row-size=36B cardinality=1500000
 |  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1,0 row-size=40B cardinality=10
+|  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1,0 row-size=36B cardinality=10
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     tuple-ids=0 row-size=20B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders]
@@ -643,9 +643,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns missing stats: c_orders
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=150000
+   tuple-ids=0 row-size=20B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, left nested in scan - should reserve memory for virtual
@@ -668,18 +668,18 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,0 row-size=32B cardinality=1500000
+|  tuple-ids=1,0 row-size=28B cardinality=1500000
 |  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1,0 row-size=32B cardinality=10
+|  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1,0 row-size=28B cardinality=10
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     tuple-ids=0 row-size=20B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders]
@@ -694,9 +694,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns missing stats: c_orders
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=150000
+   tuple-ids=0 row-size=20B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, left nested in scan - should reserve memory for nested column
@@ -718,18 +718,18 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,0 row-size=24B cardinality=1500000
+|  tuple-ids=1,0 row-size=20B cardinality=1500000
 |  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1,0 row-size=24B cardinality=10
+|  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1,0 row-size=20B cardinality=10
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     tuple-ids=0 row-size=20B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders]
@@ -744,9 +744,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns missing stats: c_orders
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=150000
+   tuple-ids=0 row-size=20B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types, left nested in scan - should reserve memory for nested column
@@ -768,18 +768,18 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,0 row-size=24B cardinality=1500000
+|  tuple-ids=1,0 row-size=20B cardinality=1500000
 |  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=16B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1,0 row-size=24B cardinality=10
+|  |  mem-estimate=12B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1,0 row-size=20B cardinality=10
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=16B cardinality=1
+|  |     tuple-ids=0 row-size=12B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders]
@@ -794,9 +794,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns: unavailable
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
-   tuple-ids=0 row-size=16B cardinality=150000
+   tuple-ids=0 row-size=12B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Parquet nested types with two levels of nesting materialized in scan. Should
@@ -818,34 +818,34 @@ PLAN-ROOT SINK
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=2,1,0 row-size=64B cardinality=15000000
+|  tuple-ids=2,1,0 row-size=52B cardinality=15000000
 |  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
-|  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2,1,0 row-size=64B cardinality=100
+|  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=2,1,0 row-size=52B cardinality=100
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     tuple-ids=0 row-size=20B cardinality=1
 |  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2,1 row-size=40B cardinality=100
+|  |  tuple-ids=2,1 row-size=32B cardinality=100
 |  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
-|  |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=2,1 row-size=40B cardinality=10
+|  |  |  mem-estimate=20B mem-reservation=0B thread-reservation=0
+|  |  |  tuple-ids=2,1 row-size=32B cardinality=10
 |  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |     tuple-ids=1 row-size=24B cardinality=1
+|  |  |     tuple-ids=1 row-size=20B cardinality=1
 |  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems]
@@ -867,9 +867,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=150000 size=288.99MB
      columns missing stats: c_orders
-   extrapolated-rows=disabled max-scan-range-rows=44232
+   extrapolated-rows=disabled max-scan-range-rows=44225
    mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
-   tuple-ids=0 row-size=24B cardinality=150000
+   tuple-ids=0 row-size=20B cardinality=150000
    in pipelines: 00(GETNEXT)
 ====
 # Text scan
@@ -891,7 +891,7 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -899,13 +899,13 @@ Per-Host Resource Estimates: Memory=99MB
 Analyzed query: SELECT * FROM tpch.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.78MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.78MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -917,21 +917,21 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
-Per-Host Resource Estimates: Memory=188MB
+Per-Host Resource Estimates: Memory=187MB
 Analyzed query: SELECT * FROM tpch.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=11.56MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -943,7 +943,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Single column text scan - memory reservation is same as multi-column scan.
@@ -965,7 +965,7 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -973,13 +973,13 @@ Per-Host Resource Estimates: Memory=98MB
 Analyzed query: SELECT l_comment FROM tpch.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.14MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.12MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.14MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=42B cardinality=6001215
+|  mem-estimate=10.12MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=38B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -991,7 +991,7 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
@@ -999,13 +999,13 @@ Per-Host Resource Estimates: Memory=186MB
 Analyzed query: SELECT l_comment FROM tpch.lineitem
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.27MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.25MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=42B cardinality=6001215
+|  mem-estimate=10.25MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=38B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1017,7 +1017,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Text scan on small files - memory reservation is reduced.
@@ -1041,22 +1041,22 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=310
    mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
-   tuple-ids=0 row-size=97B cardinality=7300
+   tuple-ids=0 row-size=89B cardinality=7300
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
-Per-Host Resource Estimates: Memory=17MB
+Per-Host Resource Estimates: Memory=16MB
 Codegen disabled by planner
 Analyzed query: SELECT * FROM functional.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=533.50KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=490.49KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=533.50KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=97B cardinality=7300
+|  mem-estimate=490.49KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=89B cardinality=7300
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1069,7 +1069,7 @@ Per-Host Resources: mem-estimate=16.00MB mem-reservation=32.00KB thread-reservat
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=310
    mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
-   tuple-ids=0 row-size=97B cardinality=7300
+   tuple-ids=0 row-size=89B cardinality=7300
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=64.00KB Threads=3
@@ -1078,13 +1078,13 @@ Codegen disabled by planner
 Analyzed query: SELECT * FROM functional.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=836.50KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=769.49KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=836.50KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=97B cardinality=7300
+|  mem-estimate=769.49KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=89B cardinality=7300
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1097,7 +1097,7 @@ Per-Host Resources: mem-estimate=32.00MB mem-reservation=64.00KB thread-reservat
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=310
    mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-   tuple-ids=0 row-size=97B cardinality=7300
+   tuple-ids=0 row-size=89B cardinality=7300
    in pipelines: 00(GETNEXT)
 ====
 # Avro scan.
@@ -1121,7 +1121,7 @@ PLAN-ROOT SINK
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=108B cardinality=unavailable
+   tuple-ids=0 row-size=88B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -1131,13 +1131,13 @@ tpch_avro.orders
 Analyzed query: SELECT * FROM tpch_avro.orders
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=223.95KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=183.96KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=223.95KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=108B cardinality=unavailable
+|  mem-estimate=183.96KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=88B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -1149,7 +1149,7 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=108B cardinality=unavailable
+   tuple-ids=0 row-size=88B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=5
@@ -1159,13 +1159,13 @@ tpch_avro.orders
 Analyzed query: SELECT * FROM tpch_avro.orders
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=447.95KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=367.96KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=447.95KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=108B cardinality=unavailable
+|  mem-estimate=367.96KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=88B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
@@ -1177,7 +1177,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=108B cardinality=unavailable
+   tuple-ids=0 row-size=88B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # RC scan.
@@ -1201,7 +1201,7 @@ PLAN-ROOT SINK
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=98B cardinality=unavailable
+   tuple-ids=0 row-size=78B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -1211,13 +1211,13 @@ tpch_rc.customer
 Analyzed query: SELECT * FROM tpch_rc.customer
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=101.90KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=81.92KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=101.90KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=98B cardinality=unavailable
+|  mem-estimate=81.92KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=78B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
@@ -1229,7 +1229,7 @@ Per-Host Resources: mem-estimate=32.00MB mem-reservation=8.00MB thread-reservati
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=98B cardinality=unavailable
+   tuple-ids=0 row-size=78B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=5
@@ -1239,13 +1239,13 @@ tpch_rc.customer
 Analyzed query: SELECT * FROM tpch_rc.customer
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=203.90KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=163.92KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=203.90KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=98B cardinality=unavailable
+|  mem-estimate=163.92KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=78B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
@@ -1257,7 +1257,7 @@ Per-Host Resources: mem-estimate=64.00MB mem-reservation=16.00MB thread-reservat
      columns: unavailable
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=98B cardinality=unavailable
+   tuple-ids=0 row-size=78B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # Seq scan.
@@ -1359,7 +1359,7 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1075682
    mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Single column ORC scan - memory reservation is same as multi-column scan.
@@ -1381,7 +1381,7 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1075682
    mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=42B cardinality=6001215
+   tuple-ids=0 row-size=38B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # ORC scan on small files - memory reservation is reduced.
@@ -1406,7 +1406,7 @@ PLAN-ROOT SINK
      columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
-   tuple-ids=0 row-size=88B cardinality=unavailable
+   tuple-ids=0 row-size=80B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # Mixed table format scan
@@ -1424,14 +1424,14 @@ PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 00:SCAN HDFS [functional.alltypesmixedformat]
-   partitions=4/4 files=4 size=66.06KB
+   partitions=4/4 files=4 size=66.09KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/4 rows=unavailable
      columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
-   tuple-ids=0 row-size=88B cardinality=unavailable
+   tuple-ids=0 row-size=80B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=88.00KB Threads=3
@@ -1441,55 +1441,55 @@ functional.alltypesmixedformat
 Analyzed query: SELECT * FROM functional.alltypesmixedformat
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=275.97KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=251.97KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=275.97KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=88B cardinality=unavailable
+|  mem-estimate=251.97KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=80B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
 Per-Host Resources: mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=2
 00:SCAN HDFS [functional.alltypesmixedformat, RANDOM]
-   partitions=4/4 files=4 size=66.06KB
+   partitions=4/4 files=4 size=66.09KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/4 rows=unavailable
      columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
-   tuple-ids=0 row-size=88B cardinality=unavailable
+   tuple-ids=0 row-size=80B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=176.00KB Threads=5
-Per-Host Resource Estimates: Memory=33MB
+Per-Host Resource Estimates: Memory=32MB
 WARNING: The following tables are missing relevant table and/or column statistics.
 functional.alltypesmixedformat
 Analyzed query: SELECT * FROM functional.alltypesmixedformat
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=551.97KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=503.97KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=551.97KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=88B cardinality=unavailable
+|  mem-estimate=503.97KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=80B cardinality=unavailable
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
 Per-Host Resources: mem-estimate=32.00MB mem-reservation=176.00KB thread-reservation=4
 00:SCAN HDFS [functional.alltypesmixedformat, RANDOM]
-   partitions=4/4 files=4 size=66.06KB
+   partitions=4/4 files=4 size=66.09KB
    stored statistics:
      table: rows=unavailable size=unavailable
      partitions: 0/4 rows=unavailable
      columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
-   tuple-ids=0 row-size=88B cardinality=unavailable
+   tuple-ids=0 row-size=80B cardinality=unavailable
    in pipelines: 00(GETNEXT)
 ====
 # HBase scan on table without stats.
@@ -1511,7 +1511,7 @@ PLAN-ROOT SINK
      table: rows=unavailable
      columns: unavailable
    mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=88B cardinality=14298
+   tuple-ids=0 row-size=80B cardinality=14298
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=0B Threads=2
@@ -1521,13 +1521,13 @@ functional_hbase.alltypes
 Analyzed query: SELECT * FROM functional_hbase.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=1.29MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=1.17MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=1.29MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=88B cardinality=14298
+|  mem-estimate=1.17MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=80B cardinality=14298
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
@@ -1537,7 +1537,7 @@ Per-Host Resources: mem-estimate=256.00KB mem-reservation=0B thread-reservation=
      table: rows=unavailable
      columns: unavailable
    mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=88B cardinality=14298
+   tuple-ids=0 row-size=80B cardinality=14298
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=0B Threads=3
@@ -1547,13 +1547,13 @@ functional_hbase.alltypes
 Analyzed query: SELECT * FROM functional_hbase.alltypes
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=1.38MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=1.25MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=1.38MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=88B cardinality=14298
+|  mem-estimate=1.25MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=80B cardinality=14298
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
@@ -1563,7 +1563,7 @@ Per-Host Resources: mem-estimate=512.00KB mem-reservation=0B thread-reservation=
      table: rows=unavailable
      columns: unavailable
    mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=88B cardinality=14298
+   tuple-ids=0 row-size=80B cardinality=14298
    in pipelines: 00(GETNEXT)
 ====
 # HBase scan on table with stats.
@@ -1584,7 +1584,7 @@ PLAN-ROOT SINK
      table: rows=100
      columns: all
    mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=97B cardinality=50
+   tuple-ids=0 row-size=89B cardinality=50
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=0B Threads=2
@@ -1593,13 +1593,13 @@ Codegen disabled by planner
 Analyzed query: SELECT * FROM functional_hbase.alltypessmall
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=16.37KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=16.00KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=16.37KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=97B cardinality=50
+|  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=89B cardinality=50
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1609,7 +1609,7 @@ Per-Host Resources: mem-estimate=4.00KB mem-reservation=0B thread-reservation=1
      table: rows=100
      columns: all
    mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=97B cardinality=50
+   tuple-ids=0 row-size=89B cardinality=50
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=0B Threads=3
@@ -1618,13 +1618,13 @@ Codegen disabled by planner
 Analyzed query: SELECT * FROM functional_hbase.alltypessmall
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=31.17KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=28.69KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=31.17KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=97B cardinality=50
+|  mem-estimate=28.69KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=89B cardinality=50
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1634,7 +1634,7 @@ Per-Host Resources: mem-estimate=8.00KB mem-reservation=0B thread-reservation=2
      table: rows=100
      columns: all
    mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=97B cardinality=50
+   tuple-ids=0 row-size=89B cardinality=50
    in pipelines: 00(GETNEXT)
 ====
 # Data source scan
@@ -1653,7 +1653,7 @@ PLAN-ROOT SINK
 |
 00:SCAN DATA SOURCE [functional.alltypes_datasource]
    mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=116B cardinality=5000
+   tuple-ids=0 row-size=112B cardinality=5000
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=0B Threads=2
@@ -1663,20 +1663,20 @@ functional.alltypes_datasource
 Analyzed query: SELECT * FROM functional.alltypes_datasource
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=686.41KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=662.88KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=686.41KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=116B cardinality=5000
+|  mem-estimate=662.88KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=112B cardinality=5000
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
 Per-Host Resources: mem-estimate=1.00GB mem-reservation=0B thread-reservation=1
 00:SCAN DATA SOURCE [functional.alltypes_datasource]
    mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=116B cardinality=5000
+   tuple-ids=0 row-size=112B cardinality=5000
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=0B Threads=3
@@ -1686,20 +1686,20 @@ functional.alltypes_datasource
 Analyzed query: SELECT * FROM functional.alltypes_datasource
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=806.41KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=778.88KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=806.41KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=116B cardinality=5000
+|  mem-estimate=778.88KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=112B cardinality=5000
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
 Per-Host Resources: mem-estimate=2.00GB mem-reservation=0B thread-reservation=2
 00:SCAN DATA SOURCE [functional.alltypes_datasource]
    mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
-   tuple-ids=0 row-size=116B cardinality=5000
+   tuple-ids=0 row-size=112B cardinality=5000
    in pipelines: 00(GETNEXT)
 ====
 # Union
@@ -1720,7 +1720,7 @@ PLAN-ROOT SINK
 00:UNION
 |  pass-through-operands: all
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=2 row-size=263B cardinality=12002430
+|  tuple-ids=2 row-size=231B cardinality=12002430
 |  in pipelines: 01(GETNEXT), 02(GETNEXT)
 |
 |--02:SCAN HDFS [tpch.lineitem]
@@ -1730,7 +1730,7 @@ PLAN-ROOT SINK
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1068457
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=263B cardinality=6001215
+|     tuple-ids=1 row-size=231B cardinality=6001215
 |     in pipelines: 02(GETNEXT)
 |
 01:SCAN HDFS [tpch.lineitem]
@@ -1740,7 +1740,7 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 01(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
@@ -1749,13 +1749,13 @@ Analyzed query: SELECT * FROM tpch.lineitem UNION ALL SELECT * FROM
 tpch.lineitem
 
 F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=10.78MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 03:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=10.78MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=2 row-size=263B cardinality=12002430
+|  mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=2 row-size=231B cardinality=12002430
 |  in pipelines: 01(GETNEXT), 02(GETNEXT)
 |
 F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -1763,7 +1763,7 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
 00:UNION
 |  pass-through-operands: all
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=2 row-size=263B cardinality=12002430
+|  tuple-ids=2 row-size=231B cardinality=12002430
 |  in pipelines: 01(GETNEXT), 02(GETNEXT)
 |
 |--02:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -1773,7 +1773,7 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1068457
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=263B cardinality=6001215
+|     tuple-ids=1 row-size=231B cardinality=6001215
 |     in pipelines: 02(GETNEXT)
 |
 01:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -1783,22 +1783,22 @@ Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservati
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 01(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
-Per-Host Resource Estimates: Memory=188MB
+Per-Host Resource Estimates: Memory=187MB
 Analyzed query: SELECT * FROM tpch.lineitem UNION ALL SELECT * FROM
 tpch.lineitem
 
 F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=11.56MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 03:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=2 row-size=263B cardinality=12002430
+|  mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=2 row-size=231B cardinality=12002430
 |  in pipelines: 01(GETNEXT), 02(GETNEXT)
 |
 F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -1806,7 +1806,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
 00:UNION
 |  pass-through-operands: all
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=2 row-size=263B cardinality=12002430
+|  tuple-ids=2 row-size=231B cardinality=12002430
 |  in pipelines: 01(GETNEXT), 02(GETNEXT)
 |
 |--02:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -1816,7 +1816,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1068457
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-|     tuple-ids=1 row-size=263B cardinality=6001215
+|     tuple-ids=1 row-size=231B cardinality=6001215
 |     in pipelines: 02(GETNEXT)
 |
 01:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -1826,7 +1826,7 @@ Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 01(GETNEXT)
 ====
 # Grouping aggregation
@@ -1856,7 +1856,7 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -1904,7 +1904,7 @@ Per-Host Resources: mem-estimate=114.00MB mem-reservation=38.00MB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -1952,7 +1952,7 @@ Per-Host Resources: mem-estimate=228.00MB mem-reservation=76.00MB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=0
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -1980,7 +1980,7 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=1.00MB mem-reservation=128.00KB thread-reservation=1
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -2018,7 +2018,7 @@ Per-Host Resources: mem-estimate=11.00MB mem-reservation=128.00KB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=1.00MB mem-reservation=128.00KB thread-reservation=1
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -2056,7 +2056,7 @@ Per-Host Resources: mem-estimate=180.00MB mem-reservation=256.00KB thread-reserv
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=128.00KB thread-reservation=0
    tuple-ids=0 row-size=8B cardinality=6001215
    in pipelines: 00(GETNEXT)
@@ -2067,18 +2067,18 @@ from tpch_parquet.lineitem
 order by l_comment
 ---- PLAN
 Max Per-Host Resource Reservation: Memory=52.00MB Threads=2
-Per-Host Resource Estimates: Memory=120MB
+Per-Host Resource Estimates: Memory=118MB
 Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
 
 F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=120.00MB mem-reservation=52.00MB thread-reservation=2
+|  Per-Host Resources: mem-estimate=118.00MB mem-reservation=52.00MB thread-reservation=2
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:SORT
 |  order by: l_comment ASC
-|  mem-estimate=40.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=6001215
+|  mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=6001215
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem]
@@ -2086,32 +2086,32 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=52.00MB Threads=3
-Per-Host Resource Estimates: Memory=151MB
+Per-Host Resource Estimates: Memory=149MB
 Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=30.78MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=30.69MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 02:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: l_comment ASC
-|  mem-estimate=30.78MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=6001215
+|  mem-estimate=30.69MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=6001215
 |  in pipelines: 01(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=120.00MB mem-reservation=52.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=118.00MB mem-reservation=52.00MB thread-reservation=2
 01:SORT
 |  order by: l_comment ASC
-|  mem-estimate=40.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=6001215
+|  mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=6001215
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -2119,32 +2119,32 @@ Per-Host Resources: mem-estimate=120.00MB mem-reservation=52.00MB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=104.00MB Threads=3
-Per-Host Resource Estimates: Memory=302MB
+Per-Host Resource Estimates: Memory=297MB
 Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=61.56MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=61.38MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 02:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: l_comment ASC
-|  mem-estimate=61.56MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=6001215
+|  mem-estimate=61.38MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=6001215
 |  in pipelines: 01(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Host Resources: mem-estimate=240.00MB mem-reservation=104.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=236.00MB mem-reservation=104.00MB thread-reservation=2
 01:SORT
 |  order by: l_comment ASC
-|  mem-estimate=40.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=6001215
+|  mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=6001215
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -2152,9 +2152,9 @@ Per-Host Resources: mem-estimate=240.00MB mem-reservation=104.00MB thread-reserv
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # TOP-N
@@ -2169,14 +2169,14 @@ Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
 CAST(100 AS TINYINT)
 
 F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=80.03MB mem-reservation=40.00MB thread-reservation=2
+|  Per-Host Resources: mem-estimate=80.02MB mem-reservation=40.00MB thread-reservation=2
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 01:TOP-N [LIMIT=100]
 |  order by: l_comment ASC
-|  mem-estimate=25.66KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=100
+|  mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=100
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem]
@@ -2184,9 +2184,9 @@ PLAN-ROOT SINK
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=40.00MB Threads=3
@@ -2195,23 +2195,23 @@ Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
 CAST(100 AS TINYINT)
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=86.71KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=76.29KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 02:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: l_comment ASC
 |  limit: 100
-|  mem-estimate=86.71KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=100
+|  mem-estimate=76.29KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=100
 |  in pipelines: 01(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=80.03MB mem-reservation=40.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=80.02MB mem-reservation=40.00MB thread-reservation=2
 01:TOP-N [LIMIT=100]
 |  order by: l_comment ASC
-|  mem-estimate=25.66KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=100
+|  mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=100
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -2219,9 +2219,9 @@ Per-Host Resources: mem-estimate=80.03MB mem-reservation=40.00MB thread-reservat
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=80.00MB Threads=3
@@ -2230,23 +2230,23 @@ Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
 CAST(100 AS TINYINT)
 
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=164.87KB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=145.08KB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 02:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: l_comment ASC
 |  limit: 100
-|  mem-estimate=164.87KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=100
+|  mem-estimate=145.08KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=100
 |  in pipelines: 01(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Host Resources: mem-estimate=160.05MB mem-reservation=80.00MB thread-reservation=2
+Per-Host Resources: mem-estimate=160.04MB mem-reservation=80.00MB thread-reservation=2
 01:TOP-N [LIMIT=100]
 |  order by: l_comment ASC
-|  mem-estimate=25.66KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1 row-size=263B cardinality=100
+|  mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=1 row-size=231B cardinality=100
 |  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
@@ -2254,9 +2254,9 @@ Per-Host Resources: mem-estimate=160.05MB mem-reservation=80.00MB thread-reserva
    stored statistics:
      table: rows=6001215 size=193.72MB
      columns: all
-   extrapolated-rows=disabled max-scan-range-rows=2141530
+   extrapolated-rows=disabled max-scan-range-rows=2141609
    mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Broadcast Hash Join
@@ -2264,12 +2264,12 @@ select *
 from tpch.lineitem inner join tpch.orders on l_orderkey = o_orderkey
 ---- PLAN
 Max Per-Host Resource Reservation: Memory=51.00MB Threads=3
-Per-Host Resource Estimates: Memory=477MB
+Per-Host Resource Estimates: Memory=446MB
 Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
 = o_orderkey
 
 F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=477.41MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
+|  Per-Host Resources: mem-estimate=445.94MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
@@ -2277,8 +2277,8 @@ PLAN-ROOT SINK
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=300.41MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--01:SCAN HDFS [tpch.orders]
@@ -2288,7 +2288,7 @@ PLAN-ROOT SINK
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 00:SCAN HDFS [tpch.lineitem]
@@ -2299,37 +2299,37 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=51.00MB Threads=5
-Per-Host Resource Estimates: Memory=499MB
+Per-Host Resource Estimates: Memory=467MB
 Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
 = o_orderkey
 
 F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=11.35MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=11.20MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 04:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=11.35MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=11.20MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-Per-Host Resources: mem-estimate=399.80MB mem-reservation=43.00MB thread-reservation=2 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=368.29MB mem-reservation=43.00MB thread-reservation=2 runtime-filters-memory=1.00MB
 02:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=300.41MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--03:EXCHANGE [BROADCAST]
-|  |  mem-estimate=10.38MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=191B cardinality=1500000
+|  |  mem-estimate=10.34MB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1 row-size=171B cardinality=1500000
 |  |  in pipelines: 01(GETNEXT)
 |  |
 |  F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2341,7 +2341,7 @@ Per-Host Resources: mem-estimate=399.80MB mem-reservation=43.00MB thread-reserva
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 00:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -2352,33 +2352,33 @@ Per-Host Resources: mem-estimate=399.80MB mem-reservation=43.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=102.00MB Threads=5
-Per-Host Resource Estimates: Memory=968MB
+Per-Host Resource Estimates: Memory=904MB
 Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
 = o_orderkey
 
 F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=12.71MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=12.40MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 04:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=12.71MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=12.40MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
-Per-Host Resources: mem-estimate=778.83MB mem-reservation=86.00MB thread-reservation=2 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=715.89MB mem-reservation=86.00MB thread-reservation=2 runtime-filters-memory=1.00MB
 02:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash-table-id=00
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=300.41MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--F03:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
@@ -2389,8 +2389,8 @@ Per-Host Resources: mem-estimate=778.83MB mem-reservation=86.00MB thread-reserva
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |
 |  03:EXCHANGE [BROADCAST]
-|  |  mem-estimate=10.76MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=191B cardinality=1500000
+|  |  mem-estimate=10.68MB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1 row-size=171B cardinality=1500000
 |  |  in pipelines: 01(GETNEXT)
 |  |
 |  F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
@@ -2402,7 +2402,7 @@ Per-Host Resources: mem-estimate=778.83MB mem-reservation=86.00MB thread-reserva
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 00:SCAN HDFS [tpch.lineitem, RANDOM]
@@ -2413,7 +2413,7 @@ Per-Host Resources: mem-estimate=778.83MB mem-reservation=86.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Shuffle Hash Join
@@ -2421,13 +2421,13 @@ select *
 from tpch.lineitem inner join /* +shuffle */ tpch.orders on l_orderkey = o_orderkey
 ---- PLAN
 Max Per-Host Resource Reservation: Memory=51.00MB Threads=3
-Per-Host Resource Estimates: Memory=477MB
-Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN
+Per-Host Resource Estimates: Memory=446MB
+Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN 
 -- +shuffle
 tpch.orders ON l_orderkey = o_orderkey
 
 F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=477.41MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
+|  Per-Host Resources: mem-estimate=445.94MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
@@ -2435,8 +2435,8 @@ PLAN-ROOT SINK
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=300.41MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--01:SCAN HDFS [tpch.orders]
@@ -2446,7 +2446,7 @@ PLAN-ROOT SINK
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 00:SCAN HDFS [tpch.lineitem]
@@ -2457,38 +2457,38 @@ PLAN-ROOT SINK
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- DISTRIBUTEDPLAN
 Max Per-Host Resource Reservation: Memory=52.00MB Threads=6
-Per-Host Resource Estimates: Memory=311MB
-Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN
+Per-Host Resource Estimates: Memory=300MB
+Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN 
 -- +shuffle
 tpch.orders ON l_orderkey = o_orderkey
 
 F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=11.35MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=11.20MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 05:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=11.35MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=11.20MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT)
 |
 F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
-Per-Host Resources: mem-estimate=122.30MB mem-reservation=35.00MB thread-reservation=1 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=111.68MB mem-reservation=35.00MB thread-reservation=1 runtime-filters-memory=1.00MB
 02:HASH JOIN [INNER JOIN, PARTITIONED]
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=100.14MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=89.65MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--04:EXCHANGE [HASH(o_orderkey)]
-|  |  mem-estimate=10.38MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=191B cardinality=1500000
+|  |  mem-estimate=10.34MB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1 row-size=171B cardinality=1500000
 |  |  in pipelines: 01(GETNEXT)
 |  |
 |  F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
@@ -2500,12 +2500,12 @@ Per-Host Resources: mem-estimate=122.30MB mem-reservation=35.00MB thread-reserva
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 03:EXCHANGE [HASH(l_orderkey)]
-|  mem-estimate=10.78MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
@@ -2518,34 +2518,34 @@ Per-Host Resources: mem-estimate=89.00MB mem-reservation=9.00MB thread-reservati
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 Max Per-Host Resource Reservation: Memory=104.00MB Threads=7
-Per-Host Resource Estimates: Memory=492MB
-Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN
+Per-Host Resource Estimates: Memory=481MB
+Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN 
 -- +shuffle
 tpch.orders ON l_orderkey = o_orderkey
 
 F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=12.71MB mem-reservation=0B thread-reservation=1
+|  Per-Host Resources: mem-estimate=12.40MB mem-reservation=0B thread-reservation=1
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 05:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=12.71MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=12.40MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT)
 |
 F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
-Per-Host Resources: mem-estimate=125.26MB mem-reservation=70.00MB thread-reservation=2 runtime-filters-memory=1.00MB
+Per-Host Resources: mem-estimate=114.40MB mem-reservation=70.00MB thread-reservation=2 runtime-filters-memory=1.00MB
 02:HASH JOIN [INNER JOIN, PARTITIONED]
 |  hash-table-id=00
 |  hash predicates: l_orderkey = o_orderkey
 |  fk/pk conjuncts: l_orderkey = o_orderkey
 |  runtime filters: RF000[bloom] <- o_orderkey
-|  mem-estimate=50.07MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=0,1 row-size=454B cardinality=5757710
+|  mem-estimate=44.82MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+|  tuple-ids=0,1 row-size=402B cardinality=5757710
 |  in pipelines: 00(GETNEXT), 01(OPEN)
 |
 |--F04:PLAN FRAGMENT [HASH(l_orderkey)] hosts=2 instances=4
@@ -2556,8 +2556,8 @@ Per-Host Resources: mem-estimate=125.26MB mem-reservation=70.00MB thread-reserva
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |
 |  04:EXCHANGE [HASH(o_orderkey)]
-|  |  mem-estimate=10.76MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=191B cardinality=1500000
+|  |  mem-estimate=10.68MB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=1 row-size=171B cardinality=1500000
 |  |  in pipelines: 01(GETNEXT)
 |  |
 |  F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
@@ -2569,12 +2569,12 @@ Per-Host Resources: mem-estimate=125.26MB mem-reservation=70.00MB thread-reserva
 |       columns: all
 |     extrapolated-rows=disabled max-scan-range-rows=1181132
 |     mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-|     tuple-ids=1 row-size=191B cardinality=1500000
+|     tuple-ids=1 row-size=171B cardinality=1500000
 |     in pipelines: 01(GETNEXT)
 |
 03:EXCHANGE [HASH(l_orderkey)]
-|  mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=263B cardinality=6001215
+|  mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
+|  tuple-ids=0 row-size=231B cardinality=6001215
 |  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
@@ -2587,7 +2587,7 @@ Per-Host Resources: mem-estimate=178.00MB mem-reservation=18.00MB thread-reserva
      columns: all
    extrapolated-rows=disabled max-scan-range-rows=1068457
    mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
-   tuple-ids=0 row-size=263B cardinality=6001215
+   tuple-ids=0 row-size=231B cardinality=6001215
    in pipelines: 00(GETNEXT)
 ====
 # Nested loop join
@@ -2595,17 +2595,17 @@ select *
 from tpch.lineitem, tpch.orders
 ---- PLAN
 Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
-Per-Host Resource Estimates: Memory=449MB
+Per-Host Resource Estimates: Memory=420MB
 Analyzed query: SELECT * FROM tpch.lineitem, tpch.orders
 
 F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Host Resources: mem-estimate=449.10MB mem-reservation=16.00MB thread-reservation=3
+|  Per-Host Resources: mem-estimate=420.49MB mem-reservation=16.00MB thread-reservation=3
 PLAN-ROOT SINK
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |
 02:NESTED LOOP JOIN [CROSS JOIN]
-|  mem-estimate=273.10MB mem-reservation=0B thread-reservation=0


<TRUNCATED>