# Distributed nested-loop join not allowed.
select count(*) from
functional_parquet.alltypestiny a,
functional_parquet.alltypestiny b
---- PLAN
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
---- PARALLELPLANS
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
====
# Distributed hash-join not allowed.
select count(*) from
functional_parquet.alltypestiny a,
functional_parquet.alltypestiny b
where a.id = b.id
---- PLAN
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
---- PARALLELPLANS
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
====
# Insert not allowed.
insert into functional_parquet.alltypes partition(year,month)
select * from functional_parquet.alltypessmall
---- PLAN
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
---- PARALLELPLANS
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
====
# CTAS not allowed.
create table ctas_mt_dop_test as select * from functional_parquet.alltypes
---- PLAN
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
---- PARALLELPLANS
not implemented: MT_DOP not supported for plans with base table joins or table sinks.
====
# Single-table scan/filter/agg/topn should work.
select count(int_col) cnt from functional_parquet.alltypes
where id < 10
group by bigint_col
order by cnt, bigint_col
limit 10
---- PLAN
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=144.00MB mem-reservation=34.00MB
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
02:TOP-N [LIMIT=10]
|  order by: count(int_col) ASC, bigint_col ASC
|  mem-estimate=160B mem-reservation=0B
|  tuple-ids=2 row-size=16B cardinality=10
|
01:AGGREGATE [FINALIZE]
|  output: count(int_col)
|  group by: bigint_col
|  mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB
|  tuple-ids=1 row-size=16B cardinality=unavailable
|
00:SCAN HDFS [functional_parquet.alltypes]
   partitions=24/24 files=24 size=178.13KB
   predicates: id < 10
   stats-rows=unavailable extrapolated-rows=disabled
   table stats: rows=unavailable size=unavailable
   column stats: unavailable
   parquet statistics predicates: id < 10
   parquet dictionary predicates: id < 10
   mem-estimate=16.00MB mem-reservation=0B
   tuple-ids=0 row-size=16B cardinality=unavailable
---- PARALLELPLANS
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=0B mem-reservation=0B
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
05:MERGING-EXCHANGE [UNPARTITIONED]
|  order by: count(int_col) ASC, bigint_col ASC
|  limit: 10
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=2 row-size=16B cardinality=10
|
F01:PLAN FRAGMENT [HASH(bigint_col)] hosts=3 instances=9
Per-Host Resources: mem-estimate=384.00MB mem-reservation=102.00MB
02:TOP-N [LIMIT=10]
|  order by: count(int_col) ASC, bigint_col ASC
|  mem-estimate=160B mem-reservation=0B
|  tuple-ids=2 row-size=16B cardinality=10
|
04:AGGREGATE [FINALIZE]
|  output: count:merge(int_col)
|  group by: bigint_col
|  mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB
|  tuple-ids=1 row-size=16B cardinality=unavailable
|
03:EXCHANGE [HASH(bigint_col)]
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=1 row-size=16B cardinality=unavailable
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=432.00MB mem-reservation=0B
01:AGGREGATE [STREAMING]
|  output: count(int_col)
|  group by: bigint_col
|  mem-estimate=128.00MB mem-reservation=0B spill-buffer=2.00MB
|  tuple-ids=1 row-size=16B cardinality=unavailable
|
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
   partitions=24/24 files=24 size=178.13KB
   predicates: id < 10
   stats-rows=unavailable extrapolated-rows=disabled
   table stats: rows=unavailable size=unavailable
   column stats: unavailable
   parquet statistics predicates: id < 10
   parquet dictionary predicates: id < 10
   mem-estimate=16.00MB mem-reservation=0B
   tuple-ids=0 row-size=16B cardinality=unavailable
====
# Single-table scan/filter/analytic should work.
select row_number() over(partition by int_col order by id)
from functional_parquet.alltypes
where id < 10
---- PLAN
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=26.00MB mem-reservation=10.00MB
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
02:ANALYTIC
|  functions: row_number()
|  partition by: int_col
|  order by: id ASC
|  window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB
|  tuple-ids=4,3 row-size=16B cardinality=unavailable
|
01:SORT
|  order by: int_col ASC NULLS FIRST, id ASC
|  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB
|  tuple-ids=4 row-size=8B cardinality=unavailable
|
00:SCAN HDFS [functional_parquet.alltypes]
   partitions=24/24 files=24 size=178.13KB
   predicates: id < 10
   stats-rows=unavailable extrapolated-rows=disabled
   table stats: rows=unavailable size=unavailable
   column stats: unavailable
   parquet statistics predicates: id < 10
   parquet dictionary predicates: id < 10
   mem-estimate=16.00MB mem-reservation=0B
   tuple-ids=0 row-size=8B cardinality=unavailable
---- PARALLELPLANS
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=0B mem-reservation=0B
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
04:EXCHANGE [UNPARTITIONED]
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=4,3 row-size=16B cardinality=unavailable
|
F01:PLAN FRAGMENT [HASH(int_col)] hosts=3 instances=9
Per-Host Resources: mem-estimate=30.00MB mem-reservation=30.00MB
02:ANALYTIC
|  functions: row_number()
|  partition by: int_col
|  order by: id ASC
|  window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB
|  tuple-ids=4,3 row-size=16B cardinality=unavailable
|
01:SORT
|  order by: int_col ASC NULLS FIRST, id ASC
|  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB
|  tuple-ids=4 row-size=8B cardinality=unavailable
|
03:EXCHANGE [HASH(int_col)]
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=0 row-size=8B cardinality=unavailable
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=48.00MB mem-reservation=0B
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
   partitions=24/24 files=24 size=178.13KB
   predicates: id < 10
   stats-rows=unavailable extrapolated-rows=disabled
   table stats: rows=unavailable size=unavailable
   column stats: unavailable
   parquet statistics predicates: id < 10
   parquet dictionary predicates: id < 10
   mem-estimate=16.00MB mem-reservation=0B
   tuple-ids=0 row-size=8B cardinality=unavailable
====
# Nested-loop join in a subplan should work.
select *
from tpch_nested_parquet.customer c, c.c_orders o, o.o_lineitems
where c_custkey < 10 and o_orderkey < 5 and l_linenumber < 3
---- PLAN
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=88.00MB mem-reservation=0B
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
01:SUBPLAN
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=2,1,0 row-size=562B cardinality=1500000
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
|  |  mem-estimate=254B mem-reservation=0B
|  |  tuple-ids=2,1,0 row-size=562B cardinality=100
|  |
|  |--02:SINGULAR ROW SRC
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=0 row-size=254B cardinality=1
|  |
|  04:SUBPLAN
|  |  mem-estimate=0B mem-reservation=0B
|  |  tuple-ids=2,1 row-size=308B cardinality=100
|  |
|  |--07:NESTED LOOP JOIN [CROSS JOIN]
|  |  |  mem-estimate=124B mem-reservation=0B
|  |  |  tuple-ids=2,1 row-size=308B cardinality=10
|  |  |
|  |  |--05:SINGULAR ROW SRC
|  |  |     parent-subplan=04
|  |  |     mem-estimate=0B mem-reservation=0B
|  |  |     tuple-ids=1 row-size=124B cardinality=1
|  |  |
|  |  06:UNNEST [o.o_lineitems]
|  |     parent-subplan=04
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=2 row-size=0B cardinality=10
|  |
|  03:UNNEST [c.c_orders o]
|     parent-subplan=01
|     mem-estimate=0B mem-reservation=0B
|     tuple-ids=1 row-size=0B cardinality=10
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
   partitions=1/1 files=4 size=292.35MB
   predicates: c_custkey < 10, !empty(c.c_orders)
   predicates on o: !empty(o.o_lineitems), o_orderkey < 5
   predicates on o_lineitems: l_linenumber < 3
   stats-rows=150000 extrapolated-rows=disabled
   table stats: rows=150000 size=292.35MB
   columns missing stats: c_orders
   parquet statistics predicates: c_custkey < 10
   parquet dictionary predicates: c_custkey < 10
   mem-estimate=88.00MB mem-reservation=0B
   tuple-ids=0 row-size=254B cardinality=15000
---- PARALLELPLANS
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=0B mem-reservation=0B
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
09:EXCHANGE [UNPARTITIONED]
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=2,1,0 row-size=562B cardinality=1500000
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=264.00MB mem-reservation=0B
01:SUBPLAN
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=2,1,0 row-size=562B cardinality=1500000
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
|  |  mem-estimate=254B mem-reservation=0B
|  |  tuple-ids=2,1,0 row-size=562B cardinality=100
|  |
|  |--02:SINGULAR ROW SRC
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=0 row-size=254B cardinality=1
|  |
|  04:SUBPLAN
|  |  mem-estimate=0B mem-reservation=0B
|  |  tuple-ids=2,1 row-size=308B cardinality=100
|  |
|  |--07:NESTED LOOP JOIN [CROSS JOIN]
|  |  |  mem-estimate=124B mem-reservation=0B
|  |  |  tuple-ids=2,1 row-size=308B cardinality=10
|  |  |
|  |  |--05:SINGULAR ROW SRC
|  |  |     parent-subplan=04
|  |  |     mem-estimate=0B mem-reservation=0B
|  |  |     tuple-ids=1 row-size=124B cardinality=1
|  |  |
|  |  06:UNNEST [o.o_lineitems]
|  |     parent-subplan=04
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=2 row-size=0B cardinality=10
|  |
|  03:UNNEST [c.c_orders o]
|     parent-subplan=01
|     mem-estimate=0B mem-reservation=0B
|     tuple-ids=1 row-size=0B cardinality=10
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
   partitions=1/1 files=4 size=292.35MB
   predicates: c_custkey < 10, !empty(c.c_orders)
   predicates on o: !empty(o.o_lineitems), o_orderkey < 5
   predicates on o_lineitems: l_linenumber < 3
   stats-rows=150000 extrapolated-rows=disabled
   table stats: rows=150000 size=292.35MB
   columns missing stats: c_orders
   parquet statistics predicates: c_custkey < 10
   parquet dictionary predicates: c_custkey < 10
   mem-estimate=88.00MB mem-reservation=0B
   tuple-ids=0 row-size=254B cardinality=15000
====
# Hash-join in a subplan should work.
select c.*
from tpch_nested_parquet.customer c, c.c_orders o1, c.c_orders o2
where o1.o_orderkey = o2.o_orderkey + 2 and o1.o_orderkey < 5
---- PLAN
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=89.94MB mem-reservation=1.94MB
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
01:SUBPLAN
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=1,0,2 row-size=286B cardinality=1500000
|
|--06:HASH JOIN [INNER JOIN]
|  |  hash predicates: o1.o_orderkey = o2.o_orderkey + 2
|  |  fk/pk conjuncts: assumed fk/pk
|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB
|  |  tuple-ids=1,0,2 row-size=286B cardinality=10
|  |
|  |--04:UNNEST [c.c_orders o2]
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=2 row-size=0B cardinality=10
|  |
|  05:NESTED LOOP JOIN [CROSS JOIN]
|  |  mem-estimate=270B mem-reservation=0B
|  |  tuple-ids=1,0 row-size=278B cardinality=10
|  |
|  |--02:SINGULAR ROW SRC
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=0 row-size=270B cardinality=1
|  |
|  03:UNNEST [c.c_orders o1]
|     parent-subplan=01
|     mem-estimate=0B mem-reservation=0B
|     tuple-ids=1 row-size=0B cardinality=10
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
   partitions=1/1 files=4 size=292.35MB
   predicates: !empty(c.c_orders), !empty(c.c_orders)
   predicates on o1: o1.o_orderkey < 5
   stats-rows=150000 extrapolated-rows=disabled
   table stats: rows=150000 size=292.35MB
   columns missing stats: c_orders, c_orders
   mem-estimate=88.00MB mem-reservation=0B
   tuple-ids=0 row-size=270B cardinality=150000
---- PARALLELPLANS
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
|  Per-Host Resources: mem-estimate=0B mem-reservation=0B
PLAN-ROOT SINK
|  mem-estimate=0B mem-reservation=0B
|
07:EXCHANGE [UNPARTITIONED]
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=1,0,2 row-size=286B cardinality=1500000
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=269.81MB mem-reservation=5.81MB
01:SUBPLAN
|  mem-estimate=0B mem-reservation=0B
|  tuple-ids=1,0,2 row-size=286B cardinality=1500000
|
|--06:HASH JOIN [INNER JOIN]
|  |  hash predicates: o1.o_orderkey = o2.o_orderkey + 2
|  |  fk/pk conjuncts: assumed fk/pk
|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB
|  |  tuple-ids=1,0,2 row-size=286B cardinality=10
|  |
|  |--04:UNNEST [c.c_orders o2]
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=2 row-size=0B cardinality=10
|  |
|  05:NESTED LOOP JOIN [CROSS JOIN]
|  |  mem-estimate=270B mem-reservation=0B
|  |  tuple-ids=1,0 row-size=278B cardinality=10
|  |
|  |--02:SINGULAR ROW SRC
|  |     parent-subplan=01
|  |     mem-estimate=0B mem-reservation=0B
|  |     tuple-ids=0 row-size=270B cardinality=1
|  |
|  03:UNNEST [c.c_orders o1]
|     parent-subplan=01
|     mem-estimate=0B mem-reservation=0B
|     tuple-ids=1 row-size=0B cardinality=10
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
   partitions=1/1 files=4 size=292.35MB
   predicates: !empty(c.c_orders), !empty(c.c_orders)
   predicates on o1: o1.o_orderkey < 5
   stats-rows=150000 extrapolated-rows=disabled
   table stats: rows=150000 size=292.35MB
   columns missing stats: c_orders, c_orders
   mem-estimate=88.00MB mem-reservation=0B
   tuple-ids=0 row-size=270B cardinality=150000
====
