| # Rows per node is < 3000: codegen should be disabled. |
| select count(*) from functional.alltypes |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=32.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=148MB |
| Codegen disabled by planner |
| |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:EXCHANGE [UNPARTITIONED] |
| | |
| 01:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 00:SCAN HDFS [functional.alltypes] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=0B cardinality=7.30K |
| ==== |
| # Rows per node is > 3000: codegen should be enabled. |
| select count(*) from functional.alltypesagg |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=128.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=100MB |
| |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:EXCHANGE [UNPARTITIONED] |
| | |
| 01:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 00:SCAN HDFS [functional.alltypesagg] |
| partitions=11/11 files=11 size=814.73KB |
| row-size=0B cardinality=11.00K |
| ==== |
| # No stats on functional_parquet: codegen should be disabled. |
| select count(*) from functional_parquet.alltypes |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=16.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=21MB |
| WARNING: The following tables are missing relevant table and/or column statistics. |
| functional_parquet.alltypes |
| |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:EXCHANGE [UNPARTITIONED] |
| | |
| 01:AGGREGATE |
| | output: sum_init_zero(functional_parquet.alltypes.stats: num_rows) |
| | row-size=8B cardinality=1 |
| | |
| 00:SCAN HDFS [functional_parquet.alltypes] |
| partitions=24/24 files=24 size=189.28KB |
| row-size=8B cardinality=unavailable |
| ==== |
| # > 3000 rows returned to coordinator: codegen should be enabled |
| select * from functional_parquet.alltypes |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=88.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=128MB |
| WARNING: The following tables are missing relevant table and/or column statistics. |
| functional_parquet.alltypes |
| |
| PLAN-ROOT SINK |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | |
| 00:SCAN HDFS [functional_parquet.alltypes] |
| partitions=24/24 files=24 size=189.28KB |
| row-size=80B cardinality=unavailable |
| ==== |
| # Optimisation is enabled for join producing < 3000 rows |
| select count(*) |
| from functional.alltypes t1 |
| join functional.alltypestiny t2 on t1.id = t2.id |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=2.98MB Threads=5 |
| Per-Host Resource Estimates: Memory=183MB |
| Codegen disabled by planner |
| |
| PLAN-ROOT SINK |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 05:EXCHANGE [UNPARTITIONED] |
| | |
| 03:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: t1.id = t2.id |
| | runtime filters: RF000 <- t2.id |
| | row-size=8B cardinality=8 |
| | |
| |--04:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypestiny t2] |
| | partitions=4/4 files=4 size=460B |
| | row-size=4B cardinality=8 |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> t1.id |
| row-size=4B cardinality=7.30K |
| ==== |
| # Optimisation is disabled by cross join producing > 3000 rows |
| select count(*) from functional.alltypes t1, functional.alltypes t2 |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=64.00KB Threads=5 |
| Per-Host Resource Estimates: Memory=276MB |
| |
| PLAN-ROOT SINK |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 05:EXCHANGE [UNPARTITIONED] |
| | |
| 03:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=0B cardinality=53.29M |
| | |
| |--04:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes t2] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=0B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=0B cardinality=7.30K |
| ==== |
| # Optimisation is enabled for union producing < 3000 rows |
| select count(*) from ( |
| select * from functional.alltypes |
| union all |
| select * from functional.alltypestiny) v |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=32.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=148MB |
| Codegen disabled by planner |
| |
| PLAN-ROOT SINK |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 04:EXCHANGE [UNPARTITIONED] |
| | |
| 03:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | row-size=0B cardinality=7.31K |
| | |
| |--02:SCAN HDFS [functional.alltypestiny] |
| | partitions=4/4 files=4 size=460B |
| | row-size=0B cardinality=8 |
| | |
| 01:SCAN HDFS [functional.alltypes] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=0B cardinality=7.30K |
| ==== |
| # Optimisation is disabled by union producing > 3000 rows |
| select count(*) from ( |
| select * from functional.alltypes |
| union all |
| select * from functional.alltypes) v |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=32.00KB Threads=3 |
| Per-Host Resource Estimates: Memory=148MB |
| |
| PLAN-ROOT SINK |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 04:EXCHANGE [UNPARTITIONED] |
| | |
| 03:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | row-size=0B cardinality=14.60K |
| | |
| |--02:SCAN HDFS [functional.alltypes] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=0B cardinality=7.30K |
| | |
| 01:SCAN HDFS [functional.alltypes] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=0B cardinality=7.30K |
| ==== |
| # Scan with limit on large table: the number of rows scanned is bounded, |
| # codegen should be disabled |
| select sum(l_discount) |
| from (select * from tpch.lineitem limit 1000) v |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=8.00MB Threads=3 |
| Per-Host Resource Estimates: Memory=274MB |
| Codegen disabled by planner |
| |
| PLAN-ROOT SINK |
| | |
| 01:AGGREGATE [FINALIZE] |
| | output: sum(tpch.lineitem.l_discount) |
| | row-size=16B cardinality=1 |
| | |
| 02:EXCHANGE [UNPARTITIONED] |
| | limit: 1000 |
| | |
| 00:SCAN HDFS [tpch.lineitem] |
| partitions=1/1 files=1 size=718.94MB |
| limit: 1000 |
| row-size=8B cardinality=1.00K |
| ==== |
| # Scan with limit and predicates on large table: any number of rows could be scanned: |
| # codegen should be enabled |
| select sum(l_discount) |
| from (select * from tpch.lineitem where l_orderkey > 100 limit 1000) v |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=8.00MB Threads=3 |
| Per-Host Resource Estimates: Memory=274MB |
| |
| PLAN-ROOT SINK |
| | |
| 01:AGGREGATE [FINALIZE] |
| | output: sum(tpch.lineitem.l_discount) |
| | row-size=16B cardinality=1 |
| | |
| 02:EXCHANGE [UNPARTITIONED] |
| | limit: 1000 |
| | |
| 00:SCAN HDFS [tpch.lineitem] |
| partitions=1/1 files=1 size=718.94MB |
| predicates: l_orderkey > 100 |
| limit: 1000 |
| row-size=16B cardinality=1.00K |
| ==== |