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/08/10 23:35:02 UTC
[3/5] impala git commit: IMPALA-7231: group plan nodes into pipelines
http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test b/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
index 53fb5c4..864fc61 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
@@ -48,15 +48,17 @@ PLAN-ROOT SINK
| order by: count(int_col) ASC, bigint_col ASC
| mem-estimate=160B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=16B cardinality=10
+| in pipelines: 02(GETNEXT), 01(OPEN)
|
01:AGGREGATE [FINALIZE]
| output: count(int_col)
| group by: bigint_col
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=unavailable
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: id < 10
stored statistics:
table: rows=unavailable size=unavailable
@@ -67,6 +69,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: id < 10
mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
---- PARALLELPLANS
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -78,6 +81,7 @@ PLAN-ROOT SINK
| limit: 10
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=16B cardinality=10
+| in pipelines: 02(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(bigint_col)] hosts=3 instances=9
Per-Host Resources: mem-estimate=384.00MB mem-reservation=102.00MB thread-reservation=3
@@ -85,16 +89,19 @@ Per-Host Resources: mem-estimate=384.00MB mem-reservation=102.00MB thread-reserv
| order by: count(int_col) ASC, bigint_col ASC
| mem-estimate=160B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=16B cardinality=10
+| in pipelines: 02(GETNEXT), 04(OPEN)
|
04:AGGREGATE [FINALIZE]
| output: count:merge(int_col)
| group by: bigint_col
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=unavailable
+| in pipelines: 04(GETNEXT), 00(OPEN)
|
03:EXCHANGE [HASH(bigint_col)]
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reservation=3
@@ -103,9 +110,10 @@ Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reserv
| group by: bigint_col
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: id < 10
stored statistics:
table: rows=unavailable size=unavailable
@@ -116,6 +124,7 @@ Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reserv
parquet dictionary predicates: id < 10
mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Single-table scan/filter/analytic should work.
select row_number() over(partition by int_col order by id)
@@ -134,14 +143,16 @@ PLAN-ROOT SINK
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=4,3 row-size=16B cardinality=unavailable
+| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: int_col ASC NULLS FIRST, id ASC
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=4 row-size=8B cardinality=unavailable
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: id < 10
stored statistics:
table: rows=unavailable size=unavailable
@@ -152,6 +163,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: id < 10
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
tuple-ids=0 row-size=8B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
---- PARALLELPLANS
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -161,6 +173,7 @@ PLAN-ROOT SINK
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=4,3 row-size=16B cardinality=unavailable
+| in pipelines: 01(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(int_col)] hosts=3 instances=9
Per-Host Resources: mem-estimate=30.00MB mem-reservation=30.00MB thread-reservation=3
@@ -171,20 +184,23 @@ Per-Host Resources: mem-estimate=30.00MB mem-reservation=30.00MB thread-reservat
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=4,3 row-size=16B cardinality=unavailable
+| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: int_col ASC NULLS FIRST, id ASC
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=4 row-size=8B cardinality=unavailable
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
03:EXCHANGE [HASH(int_col)]
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=8B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=48.00MB mem-reservation=48.00KB thread-reservation=3
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: id < 10
stored statistics:
table: rows=unavailable size=unavailable
@@ -195,6 +211,7 @@ Per-Host Resources: mem-estimate=48.00MB mem-reservation=48.00KB thread-reservat
parquet dictionary predicates: id < 10
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
tuple-ids=0 row-size=8B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Nested-loop join in a subplan should work.
select *
@@ -209,38 +226,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=562B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=254B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1,0 row-size=562B 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=254B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=308B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=124B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=308B 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=124B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -259,6 +284,7 @@ PLAN-ROOT SINK
parquet dictionary predicates on o_lineitems: l_linenumber < 3
mem-estimate=88.00MB mem-reservation=88.00MB thread-reservation=0
tuple-ids=0 row-size=254B cardinality=15000
+ in pipelines: 00(GETNEXT)
---- PARALLELPLANS
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -268,44 +294,53 @@ PLAN-ROOT SINK
09:EXCHANGE [UNPARTITIONED]
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=562B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=264.00MB mem-reservation=264.00MB thread-reservation=3
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=562B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=254B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1,0 row-size=562B 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=254B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=308B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=124B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=308B 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=124B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.98MB
@@ -324,6 +359,7 @@ Per-Host Resources: mem-estimate=264.00MB mem-reservation=264.00MB thread-reserv
parquet dictionary predicates on o_lineitems: l_linenumber < 3
mem-estimate=88.00MB mem-reservation=88.00MB thread-reservation=0
tuple-ids=0 row-size=254B cardinality=15000
+ in pipelines: 00(GETNEXT)
====
# Hash-join in a subplan should work.
select c.*
@@ -338,31 +374,37 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0,2 row-size=286B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
|--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 thread-reservation=0
| | tuple-ids=1,0,2 row-size=286B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| |--04:UNNEST [c.c_orders o2]
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 05:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=270B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=278B 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=270B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o1]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -376,6 +418,7 @@ PLAN-ROOT SINK
parquet dictionary predicates on o1: o1.o_orderkey < 5
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
tuple-ids=0 row-size=270B cardinality=150000
+ in pipelines: 00(GETNEXT)
---- PARALLELPLANS
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -385,37 +428,44 @@ PLAN-ROOT SINK
07:EXCHANGE [UNPARTITIONED]
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0,2 row-size=286B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
Per-Host Resources: mem-estimate=269.81MB mem-reservation=53.81MB thread-reservation=3
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0,2 row-size=286B cardinality=1500000
+| in pipelines: 00(GETNEXT)
|
|--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 thread-reservation=0
| | tuple-ids=1,0,2 row-size=286B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| |--04:UNNEST [c.c_orders o2]
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 05:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=270B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=278B 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=270B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o1]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.98MB
@@ -429,4 +479,5 @@ Per-Host Resources: mem-estimate=269.81MB mem-reservation=53.81MB thread-reserva
parquet dictionary predicates on o1: o1.o_orderkey < 5
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
tuple-ids=0 row-size=270B cardinality=150000
+ in pipelines: 00(GETNEXT)
====
http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
index afdb8f2..0e7f58c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
@@ -17,6 +17,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=188.29KB
@@ -28,6 +29,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=5B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Parquet predicates to be skipped:
# parquet statistics predicate on bigint_col, double_col, float_col, id, tinyint_col,
@@ -52,6 +54,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=22/24 files=22 size=172.28KB
@@ -63,6 +66,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Parquet predicates to be skipped:
# parquet dictionary predicates on id, string_col & int_col
@@ -80,6 +84,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=188.29KB
@@ -91,6 +96,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Nested parquet predicates to be skipped:
# parquet statistics predicates on a.item.e
@@ -106,38 +112,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=44B cardinality=unavailable
+| 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=44B 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
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=20B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=20B 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=16B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [cn.item a]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.nested_struct.c.d cn]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.complextypestbl c]
partitions=1/1 files=2 size=6.92KB
@@ -150,6 +164,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Parquet predicates to be skipped at each level:
# parquet statistics predicates on c_custkey, o.o_orderkey & l.l_partkey
@@ -165,38 +180,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=56B cardinality=1500000
+| 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=56B 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
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | 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=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
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems l]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -209,6 +232,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=44229
mem-estimate=264.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=15000
+ in pipelines: 00(GETNEXT)
====
# Parquet filtering to be skipped on multiple collections at the same nested level:
# parquet statistics filtering on l.l_shipdate, l.l_receiptdate, l.l_shipmode
@@ -229,38 +253,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=162B cardinality=15000000
+| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=50B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1,0 row-size=162B 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=50B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=112B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=32B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=112B 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=32B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems l]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -273,6 +305,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=44229
mem-estimate=616.00MB mem-reservation=32.00MB thread-reservation=1
tuple-ids=0 row-size=50B cardinality=150000
+ in pipelines: 00(GETNEXT)
====
# Parquet filtering to be skipped on a mixed file format table:
# parquet statistics predicates on bigint_col, double_col, float_col, id, tinyint_col,
@@ -297,6 +330,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypesmixedformat]
partitions=4/4 files=4 size=66.61KB
@@ -308,4 +342,5 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
index 64bf5f2..d5f07f5 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
@@ -16,9 +16,10 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: int_col IS NULL, int_col > 1, int_col > tinyint_col, int_col * rand() > 50
stored statistics:
table: rows=unavailable size=unavailable
@@ -29,6 +30,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: int_col > 1
mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=5B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test non-parquet types to ensure that parquet predicates are skipped
select count(*) from functional.alltypes
@@ -44,6 +46,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
@@ -55,6 +58,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=128.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=5B cardinality=730
+ in pipelines: 00(GETNEXT)
====
# Test a variety of types
select count(*) from functional_parquet.alltypes
@@ -74,9 +78,10 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
- partitions=22/24 files=22 size=172.28KB
+ partitions=22/24 files=22 size=172.93KB
predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
stored statistics:
table: rows=unavailable size=unavailable
@@ -87,6 +92,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test non-parquet files for a variety of predicates
select count(*) from functional.alltypes
@@ -106,6 +112,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypes]
partitions=22/24 files=22 size=437.72KB
@@ -117,6 +124,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=339
mem-estimate=128.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=89B cardinality=1
+ in pipelines: 00(GETNEXT)
====
# Test negative cases for IN predicate min/max filtering
# - NOT IN
@@ -137,9 +145,10 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional_parquet.alltypes]
- partitions=24/24 files=24 size=188.29KB
+ partitions=24/24 files=24 size=188.92KB
predicates: id IN (int_col), id NOT IN (0, 1, 2), string_col IN ('aaaa', 'bbbb', 'cccc', NULL), mod(int_col, 50) IN (0, 1)
stored statistics:
table: rows=unavailable size=unavailable
@@ -149,6 +158,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: id NOT IN (0, 1, 2), string_col IN ('aaaa', 'bbbb', 'cccc', NULL), mod(int_col, 50) IN (0, 1)
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test collection types where all collections on the path are required (inner
# join descent). Expect the scan node to include !empty checks for both collections and
@@ -164,38 +174,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=44B cardinality=unavailable
+| 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=44B 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
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=20B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=20B 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=16B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [cn.item a]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.nested_struct.c.d cn]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.complextypestbl c]
partitions=1/1 files=2 size=6.92KB
@@ -210,6 +228,7 @@ PLAN-ROOT SINK
parquet dictionary predicates on a: a.item.e < -10
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test collection types where the lower collection in the path is optional
# (outer join descent) and the upper is required (inner join descent).
@@ -227,39 +246,47 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2N,1,0 row-size=44B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
|--08:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2N,1,0 row-size=44B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| |--06:NESTED LOOP JOIN [RIGHT OUTER JOIN]
| | | predicates: a.item.e < -10
| | | mem-estimate=40B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2N,1,0 row-size=44B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | |--04:SINGULAR ROW SRC
| | | parent-subplan=08
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | tuple-ids=1,0 row-size=40B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 05:UNNEST [cn.item a]
| | parent-subplan=08
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 07:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=24B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=40B 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
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.nested_struct.c.d cn]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.complextypestbl c]
partitions=1/1 files=2 size=6.92KB
@@ -271,6 +298,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Tests collection types where the outer is optional (outer join descent)
# and the inner is required (inner join descent). In this case, !empty is
@@ -286,38 +314,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1N,0 row-size=44B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
|--08:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1N,0 row-size=44B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| |--06:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=40B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1N,0 row-size=44B cardinality=10
+| | | in pipelines: 00(GETNEXT)
| | |
| | |--04:SINGULAR ROW SRC
| | | parent-subplan=08
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | tuple-ids=1N,0 row-size=40B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 05:UNNEST [cn.item a]
| | parent-subplan=08
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 07:NESTED LOOP JOIN [RIGHT OUTER JOIN]
| | mem-estimate=24B mem-reservation=0B thread-reservation=0
| | tuple-ids=1N,0 row-size=40B cardinality=1
+| | 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
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.nested_struct.c.d cn]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.complextypestbl c]
partitions=1/1 files=2 size=6.92KB
@@ -328,6 +364,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test collections so that each level has a filter applied.
select c_custkey from tpch_nested_parquet.customer c, c.c_orders o,
@@ -341,38 +378,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=56B cardinality=1500000
+| 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=56B 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
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | 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=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
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems l]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -391,6 +436,7 @@ PLAN-ROOT SINK
parquet dictionary predicates on l: l.l_partkey > 0
mem-estimate=264.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=24B cardinality=15000
+ in pipelines: 00(GETNEXT)
====
# Test collections in a way that would incorrectly apply a min-max
# filter at the scan. Expect no min-max filter and no !empty tests.
@@ -406,24 +452,29 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3 row-size=8B cardinality=1
+| in pipelines: 05(GETNEXT), 00(OPEN)
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1N,0 row-size=20B cardinality=unavailable
+| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [RIGHT OUTER JOIN]
| | mem-estimate=16B mem-reservation=0B thread-reservation=0
| | tuple-ids=1N,0 row-size=20B cardinality=1
+| | 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
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.int_array]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=4B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [functional_parquet.complextypestbl c]
partitions=1/1 files=2 size=6.92KB
@@ -434,6 +485,7 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
tuple-ids=0 row-size=16B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Multiple nested collection values (at the same nesting level) where dictionary
# pruning is applicable.
@@ -451,38 +503,46 @@ PLAN-ROOT SINK
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=162B cardinality=15000000
+| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=50B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1,0 row-size=162B 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=50B cardinality=1
+| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=112B cardinality=100
+| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=32B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=112B 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=32B cardinality=1
+| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems l]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
+| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
+| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.98MB
@@ -497,6 +557,7 @@ PLAN-ROOT SINK
parquet dictionary predicates on l: l.l_shipdate = '1994-08-19', l.l_receiptdate = '1994-08-24', l.l_shipmode = 'RAIL', l.l_returnflag = 'R'
mem-estimate=616.00MB mem-reservation=32.00MB thread-reservation=1
tuple-ids=0 row-size=50B cardinality=150000
+ in pipelines: 00(GETNEXT)
====
# Test a variety of predicates on a mixed format table.
# Scan multiple partitions with atleast one Parquet partition.
@@ -517,6 +578,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypesmixedformat]
partitions=4/4 files=4 size=66.61KB
@@ -530,6 +592,7 @@ PLAN-ROOT SINK
parquet dictionary predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
+ in pipelines: 00(GETNEXT)
====
# Test a variety of predicates on a mixed format table.
# Scan all partitions other than the parquet partition.
@@ -550,6 +613,7 @@ PLAN-ROOT SINK
| output: count(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=0
+| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypesmixedformat]
partitions=0/4 files=0 size=0B
@@ -561,4 +625,5 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=0
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=80B cardinality=0
+ in pipelines: 00(GETNEXT)
====
http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test b/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
index c5109cf..fa16718 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
@@ -17,4 +17,5 @@ PLAN-ROOT SINK
extrapolated-rows=disabled max-scan-range-rows=1
mem-estimate=32.00MB mem-reservation=8.00KB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=1
+ in pipelines: 00(GETNEXT)
====