blob: 4134f9ba6040f66e3b74f0b35ae26414589ad421 [file] [log] [blame]
explain
-------------------------------
SORT(5)
=> Sort Keys: default.a.id (INT4) (asc, nulls last),default.a.name (TEXT) (asc, nulls last)
JOIN(9)(LEFT_OUTER)
=> Join Cond: default.a.id (INT4) = default.b.id (INT4)
=> target list: CASE WHEN default.b.name (TEXT) IS NULL THEN 9991231 ELSE default.b.name (TEXT) END as c1, CASE WHEN default.c.name (TEXT) IS NULL THEN 9991231 ELSE default.c.name (TEXT) END as c2, default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)
=> out schema: {(6) c1 (TEXT), c2 (TEXT), default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(7) default.a.id (INT4), default.a.name (TEXT), default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
JOIN(8)(LEFT_OUTER)
=> Join Cond: default.b.id (INT4) = default.c.id (INT4)
=> target list: default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)
=> out schema: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(6) default.b.id (INT4), default.b.name (TEXT), default.c.id (INT4), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
SCAN(3) on default.testouterjoinandcasewhen1 as c
=> target list: default.c.id (INT4), default.c.name (TEXT)
=> out schema: {(2) default.c.id (INT4), default.c.name (TEXT)}
=> in schema: {(4) default.c.id (INT4), default.c.name (TEXT), default.c.score (FLOAT4), default.c.type (TEXT)}
SCAN(1) on default.testouterjoinandcasewhen2 as b
=> target list: default.b.id (INT4), default.b.name (TEXT), default.b.id (INT4) as id2, default.b.name (TEXT) as name2
=> out schema: {(4) default.b.id (INT4), default.b.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(4) default.b.id (INT4), default.b.name (TEXT), default.b.score (FLOAT4), default.b.type (TEXT)}
SCAN(0) on default.testouterjoinandcasewhen1 as a
=> target list: default.a.id (INT4), default.a.name (TEXT)
=> out schema: {(2) default.a.id (INT4), default.a.name (TEXT)}
=> in schema: {(4) default.a.id (INT4), default.a.name (TEXT), default.a.score (FLOAT4), default.a.type (TEXT)}
explain
-------------------------------
-------------------------------------------------------------------------------
Execution Block Graph (TERMINAL - eb_0000000000000_0000_000007)
-------------------------------------------------------------------------------
|-eb_0000000000000_0000_000007
|-eb_0000000000000_0000_000006
|-eb_0000000000000_0000_000005
|-eb_0000000000000_0000_000004
|-eb_0000000000000_0000_000003
|-eb_0000000000000_0000_000002
|-eb_0000000000000_0000_000001
-------------------------------------------------------------------------------
Order of Execution
-------------------------------------------------------------------------------
1: eb_0000000000000_0000_000002
2: eb_0000000000000_0000_000003
3: eb_0000000000000_0000_000004
4: eb_0000000000000_0000_000001
5: eb_0000000000000_0000_000005
6: eb_0000000000000_0000_000006
7: eb_0000000000000_0000_000007
-------------------------------------------------------------------------------
=======================================================
Block Id: eb_0000000000000_0000_000002 [LEAF]
=======================================================
[Outgoing]
[q_0000000000000_0000] 2 => 4 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32)
SCAN(1) on default.testouterjoinandcasewhen2 as b
=> target list: default.b.id (INT4), default.b.name (TEXT), default.b.id (INT4) as id2, default.b.name (TEXT) as name2
=> out schema: {(4) default.b.id (INT4), default.b.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(4) default.b.id (INT4), default.b.name (TEXT), default.b.score (FLOAT4), default.b.type (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000003 [LEAF]
=======================================================
[Outgoing]
[q_0000000000000_0000] 3 => 4 (type=HASH_SHUFFLE, key=default.c.id (INT4), num=32)
SCAN(3) on default.testouterjoinandcasewhen1 as c
=> target list: default.c.id (INT4), default.c.name (TEXT)
=> out schema: {(2) default.c.id (INT4), default.c.name (TEXT)}
=> in schema: {(4) default.c.id (INT4), default.c.name (TEXT), default.c.score (FLOAT4), default.c.type (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000004 [INTERMEDIATE]
=======================================================
[Incoming]
[q_0000000000000_0000] 2 => 4 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32)
[q_0000000000000_0000] 3 => 4 (type=HASH_SHUFFLE, key=default.c.id (INT4), num=32)
[Outgoing]
[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32)
JOIN(8)(LEFT_OUTER)
=> Join Cond: default.b.id (INT4) = default.c.id (INT4)
=> target list: default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)
=> out schema: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(6) default.b.id (INT4), default.b.name (TEXT), default.c.id (INT4), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
SCAN(12) on eb_0000000000000_0000_000003
=> out schema: {(2) default.c.id (INT4), default.c.name (TEXT)}
=> in schema: {(2) default.c.id (INT4), default.c.name (TEXT)}
SCAN(11) on eb_0000000000000_0000_000002
=> out schema: {(4) default.b.id (INT4), default.b.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(4) default.b.id (INT4), default.b.name (TEXT), id2 (INT4), name2 (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000001 [LEAF]
=======================================================
[Outgoing]
[q_0000000000000_0000] 1 => 5 (type=HASH_SHUFFLE, key=default.a.id (INT4), num=32)
SCAN(0) on default.testouterjoinandcasewhen1 as a
=> target list: default.a.id (INT4), default.a.name (TEXT)
=> out schema: {(2) default.a.id (INT4), default.a.name (TEXT)}
=> in schema: {(4) default.a.id (INT4), default.a.name (TEXT), default.a.score (FLOAT4), default.a.type (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000005 [INTERMEDIATE]
=======================================================
[Incoming]
[q_0000000000000_0000] 1 => 5 (type=HASH_SHUFFLE, key=default.a.id (INT4), num=32)
[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32)
[Outgoing]
[q_0000000000000_0000] 5 => 6 (type=RANGE_SHUFFLE, key=default.a.id (INT4), default.a.name (TEXT), num=32)
SORT(15)
=> Sort Keys: default.a.id (INT4) (asc, nulls last),default.a.name (TEXT) (asc, nulls last)
JOIN(9)(LEFT_OUTER)
=> Join Cond: default.a.id (INT4) = default.b.id (INT4)
=> target list: CASE WHEN default.b.name (TEXT) IS NULL THEN 9991231 ELSE default.b.name (TEXT) END as c1, CASE WHEN default.c.name (TEXT) IS NULL THEN 9991231 ELSE default.c.name (TEXT) END as c2, default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)
=> out schema: {(6) c1 (TEXT), c2 (TEXT), default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(7) default.a.id (INT4), default.a.name (TEXT), default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
SCAN(14) on eb_0000000000000_0000_000004
=> out schema: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)}
SCAN(13) on eb_0000000000000_0000_000001
=> out schema: {(2) default.a.id (INT4), default.a.name (TEXT)}
=> in schema: {(2) default.a.id (INT4), default.a.name (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000006 [ROOT]
=======================================================
[Incoming]
[q_0000000000000_0000] 5 => 6 (type=RANGE_SHUFFLE, key=default.a.id (INT4), default.a.name (TEXT), num=32)
[Enforcers]
0: sorted input=eb_0000000000000_0000_000005
SORT(5)
=> Sort Keys: default.a.id (INT4) (asc, nulls last),default.a.name (TEXT) (asc, nulls last)
SCAN(16) on eb_0000000000000_0000_000005
=> out schema: {(6) c1 (TEXT), c2 (TEXT), default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)}
=> in schema: {(6) c1 (TEXT), c2 (TEXT), default.a.id (INT4), default.a.name (TEXT), id2 (INT4), name2 (TEXT)}
=======================================================
Block Id: eb_0000000000000_0000_000007 [TERMINAL]
=======================================================