blob: ce77b98aadd0ae76a5dd6b5ccdf6374df61b9107 [file] [log] [blame]
# description: Tests for printout of various set operators.
# Plan around these operators may change in whatever way,
# the only thing that must be held is an invariant described
# in comments to every test case.
# group: [explain]
# union all
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
UNION ALL
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
UnionAll
est: (rows=200)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# union [not all]
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
UNION
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
ColocatedHashAggregate
group: [C1, C2]
aggregation: []
est: (rows=72)
UnionAll
est: (rows=200)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# colocated minus
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
EXCEPT
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
ColocatedMinus
all: false
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# colocated minus all
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
EXCEPT ALL
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
ColocatedMinus
all: true
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# map-reduce minus
explain plan
SELECT /*+ DISABLE_RULE('ColocatedMinusConverterRule') */ * FROM (
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
EXCEPT
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
)
----
ReduceMinus
all: false
est: (rows=50)
MapMinus
all: false
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# map-reduce minus all
explain plan
SELECT /*+ DISABLE_RULE('ColocatedMinusConverterRule') */ * FROM (
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
EXCEPT ALL
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
)
----
ReduceMinus
all: true
est: (rows=50)
MapMinus
all: true
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# colocated intersect
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
INTERSECT
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
ColocatedIntersect
all: false
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# colocated intersect all
explain plan
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
INTERSECT ALL
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
----
ColocatedIntersect
all: true
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# map-reduce intersect
explain plan
SELECT /*+ DISABLE_RULE('ColocatedIntersectConverterRule') */ * FROM (
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
INTERSECT
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
)
----
ReduceIntersect
all: false
est: (rows=50)
MapIntersect
all: false
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)
# map-reduce intersect all
explain plan
SELECT /*+ DISABLE_RULE('ColocatedIntersectConverterRule') */ * FROM (
SELECT x AS c1, x AS c2 FROM system_range(1, 10)
INTERSECT ALL
SELECT x AS c3, x AS c4 FROM system_range(6, 15)
)
----
ReduceIntersect
all: true
est: (rows=50)
MapIntersect
all: true
est: (rows=50)
Project
fieldNames: [C1, C2]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(1, 10)
est: (rows=100)
Project
fieldNames: [C3, C4]
projection: [X, X]
est: (rows=100)
TableFunctionScan
fieldNames: [X]
invocation: SYSTEM_RANGE(6, 15)
est: (rows=100)