http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan index a688177..61b4f62 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan @@ -56,65 +56,23 @@ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000012) ------------------------------------------------------------------------------- |-eb_0000000000000_0000_000012 |-eb_0000000000000_0000_000011 - |-eb_0000000000000_0000_000004 - |-eb_0000000000000_0000_000001 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000001 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000011 -4: eb_0000000000000_0000_000012 +1: eb_0000000000000_0000_000011 +2: eb_0000000000000_0000_000012 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000001 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 1 => 11 (type=HASH_SHUFFLE, key=default.a.c_custkey (INT4), num=32) - -SCAN(0) on default.customer as a - => target list: default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4) - => out schema: {(3) default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4)} - => in schema: {(8) default.a.c_acctbal (FLOAT8), default.a.c_address (TEXT), default.a.c_comment (TEXT), default.a.c_custkey (INT4), default.a.c_mktsegment (TEXT), default.a.c_name (TEXT), default.a.c_nationkey (INT4), default.a.c_phone (TEXT)} - -======================================================= -Block Id: eb_0000000000000_0000_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 11 (type=HASH_SHUFFLE, key=default.b.l_orderkey (INT4), num=32) - -[Enforcers] - 0: type=Broadcast, tables=default.c - -JOIN(13)(LEFT_OUTER) - => Join Cond: default.b.l_orderkey (INT4) = default.c.o_orderkey (INT4) - => target list: default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT) - => out schema: {(2) default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT)} - => in schema: {(3) default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4)} - SCAN(3) on default.orders as c - => target list: default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4) - => out schema: {(2) default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4)} - => in schema: {(9) default.c.o_clerk (TEXT), default.c.o_comment (TEXT), default.c.o_custkey (INT4), default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4), default.c.o_orderpriority (TEXT), default.c.o_orderstatus (TEXT), default.c.o_shippriority (INT4), default.c.o_totalprice (FLOAT8)} - SCAN(1) on default.lineitem as b - => target list: default.b.l_orderkey (INT4) - => out schema: {(1) default.b.l_orderkey (INT4)} - => in schema: {(16) default.b.l_comment (TEXT), default.b.l_commitdate (TEXT), default.b.l_discount (FLOAT8), default.b.l_extendedprice (FLOAT8), default.b.l_linenumber (INT4), default.b.l_linestatus (TEXT), default.b.l_orderkey (INT4), default.b.l_partkey (INT4), default.b.l_quantity (FLOAT8), default.b.l_receiptdate (TEXT), default.b.l_returnflag (TEXT), default.b.l_shipdate (TEXT), default.b.l_shipinstruct (TEXT), default.b.l_shipmode (TEXT), default.b.l_suppkey (INT4), default.b.l_tax (FLOAT8)} - -======================================================= Block Id: eb_0000000000000_0000_000011 [ROOT] ======================================================= -[Incoming] -[q_0000000000000_0000] 1 => 11 (type=HASH_SHUFFLE, key=default.a.c_custkey (INT4), num=32) -[q_0000000000000_0000] 4 => 11 (type=HASH_SHUFFLE, key=default.b.l_orderkey (INT4), num=32) - [Enforcers] 0: type=Broadcast, tables=default.e - 1: type=Broadcast, tables=default.d - 2: type=Broadcast, tables=default.f + 1: type=Broadcast, tables=default.b + 2: type=Broadcast, tables=default.c + 3: type=Broadcast, tables=default.d + 4: type=Broadcast, tables=default.f JOIN(17)(LEFT_OUTER) => Join Cond: default.f.p_partkey (INT4) = default.d.o_orderkey (INT4) @@ -148,12 +106,23 @@ JOIN(17)(LEFT_OUTER) => target list: default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4), default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT) => out schema: {(5) default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4), default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT)} => in schema: {(5) default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4), default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT)} - SCAN(22) on eb_0000000000000_0000_000004 + JOIN(13)(LEFT_OUTER) + => Join Cond: default.b.l_orderkey (INT4) = default.c.o_orderkey (INT4) + => target list: default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT) => out schema: {(2) default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT)} - => in schema: {(2) default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT)} - SCAN(21) on eb_0000000000000_0000_000001 + => in schema: {(3) default.b.l_orderkey (INT4), default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4)} + SCAN(3) on default.orders as c + => target list: default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4) + => out schema: {(2) default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4)} + => in schema: {(9) default.c.o_clerk (TEXT), default.c.o_comment (TEXT), default.c.o_custkey (INT4), default.c.o_orderdate (TEXT), default.c.o_orderkey (INT4), default.c.o_orderpriority (TEXT), default.c.o_orderstatus (TEXT), default.c.o_shippriority (INT4), default.c.o_totalprice (FLOAT8)} + SCAN(1) on default.lineitem as b + => target list: default.b.l_orderkey (INT4) + => out schema: {(1) default.b.l_orderkey (INT4)} + => in schema: {(16) default.b.l_comment (TEXT), default.b.l_commitdate (TEXT), default.b.l_discount (FLOAT8), default.b.l_extendedprice (FLOAT8), default.b.l_linenumber (INT4), default.b.l_linestatus (TEXT), default.b.l_orderkey (INT4), default.b.l_partkey (INT4), default.b.l_quantity (FLOAT8), default.b.l_receiptdate (TEXT), default.b.l_returnflag (TEXT), default.b.l_shipdate (TEXT), default.b.l_shipinstruct (TEXT), default.b.l_shipmode (TEXT), default.b.l_suppkey (INT4), default.b.l_tax (FLOAT8)} + SCAN(0) on default.customer as a + => target list: default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4) => out schema: {(3) default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4)} - => in schema: {(3) default.a.c_custkey (INT4), default.a.c_name (TEXT), default.a.c_nationkey (INT4)} + => in schema: {(8) default.a.c_acctbal (FLOAT8), default.a.c_address (TEXT), default.a.c_comment (TEXT), default.a.c_custkey (INT4), default.a.c_mktsegment (TEXT), default.a.c_name (TEXT), default.a.c_nationkey (INT4), default.a.c_phone (TEXT)} ======================================================= Block Id: eb_0000000000000_0000_000012 [TERMINAL]
http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan index ea058ca..ea17dbe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -45,7 +45,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] 1: type=Broadcast, tables=default.t3 JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan index 19ae617..d9fa1fe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -112,7 +112,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan index ea058ca..ea17dbe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -45,7 +45,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] 1: type=Broadcast, tables=default.t3 JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan index 19ae617..d9fa1fe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -112,7 +112,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) JOIN(8)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan index e3bb20c..264aafe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan @@ -38,63 +38,21 @@ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000008) ------------------------------------------------------------------------------- |-eb_0000000000000_0000_000008 |-eb_0000000000000_0000_000007 - |-eb_0000000000000_0000_000004 - |-eb_0000000000000_0000_000001 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000001 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000007 -4: eb_0000000000000_0000_000008 +1: eb_0000000000000_0000_000007 +2: eb_0000000000000_0000_000008 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000001 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 1 => 7 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) - -SCAN(0) on default.jointable11 as t1 - => target list: default.t1.id (INT4), default.t1.name (TEXT) - => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - -======================================================= -Block Id: eb_0000000000000_0000_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 7 (type=HASH_SHUFFLE, key=default.t2.id (INT4), num=32) - -[Enforcers] - 0: type=Broadcast, tables=default.t3 - -JOIN(9)(LEFT_OUTER) - => Join Cond: default.t2.id (INT4) = default.t3.id (INT4) - => target list: default.t2.id (INT4), default.t3.id (INT4) - => out schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - SCAN(3) on default.jointable13 as t3 - => target list: default.t3.id (INT4) - => out schema: {(1) default.t3.id (INT4)} - => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} - SCAN(1) on default.jointable12 as t2 - => target list: default.t2.id (INT4) - => out schema: {(1) default.t2.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} - -======================================================= Block Id: eb_0000000000000_0000_000007 [ROOT] ======================================================= -[Incoming] -[q_0000000000000_0000] 1 => 7 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) -[q_0000000000000_0000] 4 => 7 (type=HASH_SHUFFLE, key=default.t2.id (INT4), num=32) - [Enforcers] - 0: type=Broadcast, tables=default.t4 + 0: type=Broadcast, tables=default.t3 + 1: type=Broadcast, tables=default.t2 + 2: type=Broadcast, tables=default.t4 JOIN(11)(INNER) => Join Cond: default.t2.id (INT4) = default.t4.id (INT4) @@ -110,10 +68,21 @@ JOIN(11)(INNER) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} - SCAN(16) on eb_0000000000000_0000_000004 + JOIN(9)(LEFT_OUTER) + => Join Cond: default.t2.id (INT4) = default.t3.id (INT4) + => target list: default.t2.id (INT4), default.t3.id (INT4) => out schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - SCAN(15) on eb_0000000000000_0000_000001 + SCAN(3) on default.jointable13 as t3 + => target list: default.t3.id (INT4) + => out schema: {(1) default.t3.id (INT4)} + => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} + SCAN(1) on default.jointable12 as t2 + => target list: default.t2.id (INT4) + => out schema: {(1) default.t2.id (INT4)} + => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} + SCAN(0) on default.jointable11 as t1 + => target list: default.t1.id (INT4), default.t1.name (TEXT) => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan index e3bb20c..264aafe 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan @@ -38,63 +38,21 @@ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000008) ------------------------------------------------------------------------------- |-eb_0000000000000_0000_000008 |-eb_0000000000000_0000_000007 - |-eb_0000000000000_0000_000004 - |-eb_0000000000000_0000_000001 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000001 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000007 -4: eb_0000000000000_0000_000008 +1: eb_0000000000000_0000_000007 +2: eb_0000000000000_0000_000008 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000001 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 1 => 7 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) - -SCAN(0) on default.jointable11 as t1 - => target list: default.t1.id (INT4), default.t1.name (TEXT) - => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - -======================================================= -Block Id: eb_0000000000000_0000_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 7 (type=HASH_SHUFFLE, key=default.t2.id (INT4), num=32) - -[Enforcers] - 0: type=Broadcast, tables=default.t3 - -JOIN(9)(LEFT_OUTER) - => Join Cond: default.t2.id (INT4) = default.t3.id (INT4) - => target list: default.t2.id (INT4), default.t3.id (INT4) - => out schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - SCAN(3) on default.jointable13 as t3 - => target list: default.t3.id (INT4) - => out schema: {(1) default.t3.id (INT4)} - => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} - SCAN(1) on default.jointable12 as t2 - => target list: default.t2.id (INT4) - => out schema: {(1) default.t2.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} - -======================================================= Block Id: eb_0000000000000_0000_000007 [ROOT] ======================================================= -[Incoming] -[q_0000000000000_0000] 1 => 7 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) -[q_0000000000000_0000] 4 => 7 (type=HASH_SHUFFLE, key=default.t2.id (INT4), num=32) - [Enforcers] - 0: type=Broadcast, tables=default.t4 + 0: type=Broadcast, tables=default.t3 + 1: type=Broadcast, tables=default.t2 + 2: type=Broadcast, tables=default.t4 JOIN(11)(INNER) => Join Cond: default.t2.id (INT4) = default.t4.id (INT4) @@ -110,10 +68,21 @@ JOIN(11)(INNER) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} - SCAN(16) on eb_0000000000000_0000_000004 + JOIN(9)(LEFT_OUTER) + => Join Cond: default.t2.id (INT4) = default.t3.id (INT4) + => target list: default.t2.id (INT4), default.t3.id (INT4) => out schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(2) default.t2.id (INT4), default.t3.id (INT4)} - SCAN(15) on eb_0000000000000_0000_000001 + SCAN(3) on default.jointable13 as t3 + => target list: default.t3.id (INT4) + => out schema: {(1) default.t3.id (INT4)} + => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} + SCAN(1) on default.jointable12 as t2 + => target list: default.t2.id (INT4) + => out schema: {(1) default.t2.id (INT4)} + => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} + SCAN(0) on default.jointable11 as t1 + => target list: default.t1.id (INT4), default.t1.name (TEXT) => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan index 79ce689..d5e35ee 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan @@ -10,7 +10,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} @@ -54,7 +54,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan index b2a14d0..d1a96c9 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan @@ -10,7 +10,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} @@ -80,7 +80,7 @@ Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] [q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan index 79ce689..d5e35ee 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan @@ -10,7 +10,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} @@ -54,7 +54,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan index b2a14d0..d1a96c9 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan @@ -10,7 +10,7 @@ JOIN(8)(LEFT_OUTER) => out schema: {(1) default.t3.id (INT4)} => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} @@ -80,7 +80,7 @@ Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] [q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), num=32) JOIN(7)(LEFT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) AND concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33 + => Join Cond: (default.t1.id (INT4) = default.t2.id (INT4) AND (concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-11 OR concat(default.t1.name (TEXT),CAST (default.t2.id (INT4) AS TEXT)) = table11-33)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan index f1e2800..a8638e7 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan @@ -3,7 +3,7 @@ explain SORT(4) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce @@ -46,7 +46,7 @@ Block Id: eb_0000000000000_0000_000003 [LEAF] SORT(11) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan index 0ece200..f5b1292 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan @@ -3,7 +3,7 @@ explain SORT(4) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce @@ -75,7 +75,7 @@ Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] SORT(11) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan index f1e2800..a8638e7 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan @@ -3,7 +3,7 @@ explain SORT(4) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce @@ -46,7 +46,7 @@ Block Id: eb_0000000000000_0000_000003 [LEAF] SORT(11) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan index 0ece200..f5b1292 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan @@ -3,7 +3,7 @@ explain SORT(4) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce @@ -75,7 +75,7 @@ Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] SORT(11) => Sort Keys: default.customer.c_custkey (INT4) (asc),default.orders.o_orderkey (INT4) (asc) SELECTION(3) - => Search Cond: default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%' + => Search Cond: (default.orders.o_orderdate (TEXT) IS NOT NULL AND default.orders.o_orderdate (TEXT)LIKE'1996%') JOIN(7)(LEFT_OUTER) => Join Cond: default.customer.c_custkey (INT4) = default.orders.o_orderkey (INT4) => target list: default.customer.c_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), coalesce(default.orders.o_orderstatus (TEXT),N/A) as ?coalesce http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan index b336032..cbb8253 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan @@ -32,64 +32,24 @@ 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_000001 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000001 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000005 -4: eb_0000000000000_0000_000006 -5: eb_0000000000000_0000_000007 +1: eb_0000000000000_0000_000005 +2: eb_0000000000000_0000_000006 +3: eb_0000000000000_0000_000007 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000001 [LEAF] +Block Id: eb_0000000000000_0000_000005 [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_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32) +[q_0000000000000_0000] 5 => 6 (type=RANGE_SHUFFLE, key=default.a.id (INT4), default.a.name (TEXT), num=32) [Enforcers] - 0: type=Broadcast, tables=default.c - -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.id (INT4) as id2, default.b.name (TEXT), 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_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) + 0: type=Broadcast, tables=default.b + 1: type=Broadcast, tables=default.c SORT(15) => Sort Keys: default.a.id (INT4) (asc),default.a.name (TEXT) (asc) @@ -98,12 +58,23 @@ SORT(15) => 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 + 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: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)} - SCAN(13) on eb_0000000000000_0000_000001 + => 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.id (INT4) as id2, default.b.name (TEXT), 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: {(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_000006 [ROOT] http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan index b336032..cbb8253 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan @@ -32,64 +32,24 @@ 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_000001 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000001 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000005 -4: eb_0000000000000_0000_000006 -5: eb_0000000000000_0000_000007 +1: eb_0000000000000_0000_000005 +2: eb_0000000000000_0000_000006 +3: eb_0000000000000_0000_000007 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000001 [LEAF] +Block Id: eb_0000000000000_0000_000005 [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_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.b.id (INT4), num=32) +[q_0000000000000_0000] 5 => 6 (type=RANGE_SHUFFLE, key=default.a.id (INT4), default.a.name (TEXT), num=32) [Enforcers] - 0: type=Broadcast, tables=default.c - -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.id (INT4) as id2, default.b.name (TEXT), 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_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) + 0: type=Broadcast, tables=default.b + 1: type=Broadcast, tables=default.c SORT(15) => Sort Keys: default.a.id (INT4) (asc),default.a.name (TEXT) (asc) @@ -98,12 +58,23 @@ SORT(15) => 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 + 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: {(5) default.b.id (INT4), default.b.name (TEXT), default.c.name (TEXT), id2 (INT4), name2 (TEXT)} - SCAN(13) on eb_0000000000000_0000_000001 + => 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.id (INT4) as id2, default.b.name (TEXT), 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: {(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_000006 [ROOT] http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan index e0bb3a0..f347a88 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -29,72 +29,43 @@ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000006) ------------------------------------------------------------------------------- |-eb_0000000000000_0000_000006 |-eb_0000000000000_0000_000005 - |-eb_0000000000000_0000_000004 - |-eb_0000000000000_0000_000003 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000003 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000005 -4: eb_0000000000000_0000_000006 +1: eb_0000000000000_0000_000005 +2: eb_0000000000000_0000_000006 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000003 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), default.t2.id (INT4), num=32) - -[Enforcers] - 0: type=Broadcast, tables=default.t1 - -JOIN(7)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) - => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) - => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} - => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} - SCAN(1) on default.jointable12 as t2 - => target list: default.t2.id (INT4) - => out schema: {(1) default.t2.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} - SCAN(0) on default.jointable11 as t1 - => target list: default.t1.id (INT4), default.t1.name (TEXT) - => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - -======================================================= -Block Id: eb_0000000000000_0000_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) - -SCAN(3) on default.jointable13 as t3 - => target list: default.t3.id (INT4) - => out schema: {(1) default.t3.id (INT4)} - => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} - -======================================================= Block Id: eb_0000000000000_0000_000005 [ROOT] ======================================================= -[Incoming] -[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), default.t2.id (INT4), num=32) -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) +[Enforcers] + 0: type=Broadcast, tables=default.t2 + 1: type=Broadcast, tables=default.t1 JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} - SCAN(13) on eb_0000000000000_0000_000004 + SCAN(3) on default.jointable13 as t3 + => target list: default.t3.id (INT4) => out schema: {(1) default.t3.id (INT4)} - => in schema: {(1) default.t3.id (INT4)} - SCAN(12) on eb_0000000000000_0000_000003 + => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} + JOIN(7)(RIGHT_OUTER) + => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) + => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} + SCAN(1) on default.jointable12 as t2 + => target list: default.t2.id (INT4) + => out schema: {(1) default.t2.id (INT4)} + => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} + SCAN(0) on default.jointable11 as t1 + => target list: default.t1.id (INT4), default.t1.name (TEXT) + => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} + => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} ======================================================= Block Id: eb_0000000000000_0000_000006 [TERMINAL] http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan index 735f305..81c8d30 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -112,7 +112,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan index e0bb3a0..f347a88 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -29,72 +29,43 @@ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000006) ------------------------------------------------------------------------------- |-eb_0000000000000_0000_000006 |-eb_0000000000000_0000_000005 - |-eb_0000000000000_0000_000004 - |-eb_0000000000000_0000_000003 ------------------------------------------------------------------------------- Order of Execution ------------------------------------------------------------------------------- -1: eb_0000000000000_0000_000003 -2: eb_0000000000000_0000_000004 -3: eb_0000000000000_0000_000005 -4: eb_0000000000000_0000_000006 +1: eb_0000000000000_0000_000005 +2: eb_0000000000000_0000_000006 ------------------------------------------------------------------------------- ======================================================= -Block Id: eb_0000000000000_0000_000003 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), default.t2.id (INT4), num=32) - -[Enforcers] - 0: type=Broadcast, tables=default.t1 - -JOIN(7)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) - => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) - => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} - => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} - SCAN(1) on default.jointable12 as t2 - => target list: default.t2.id (INT4) - => out schema: {(1) default.t2.id (INT4)} - => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} - SCAN(0) on default.jointable11 as t1 - => target list: default.t1.id (INT4), default.t1.name (TEXT) - => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} - -======================================================= -Block Id: eb_0000000000000_0000_000004 [LEAF] -======================================================= - -[Outgoing] -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) - -SCAN(3) on default.jointable13 as t3 - => target list: default.t3.id (INT4) - => out schema: {(1) default.t3.id (INT4)} - => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} - -======================================================= Block Id: eb_0000000000000_0000_000005 [ROOT] ======================================================= -[Incoming] -[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.t1.id (INT4), default.t2.id (INT4), num=32) -[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) +[Enforcers] + 0: type=Broadcast, tables=default.t2 + 1: type=Broadcast, tables=default.t1 JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} - SCAN(13) on eb_0000000000000_0000_000004 + SCAN(3) on default.jointable13 as t3 + => target list: default.t3.id (INT4) => out schema: {(1) default.t3.id (INT4)} - => in schema: {(1) default.t3.id (INT4)} - SCAN(12) on eb_0000000000000_0000_000003 + => in schema: {(2) default.t3.id (INT4), default.t3.name (TEXT)} + JOIN(7)(RIGHT_OUTER) + => Join Cond: default.t1.id (INT4) = default.t2.id (INT4) + => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4) => out schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} => in schema: {(3) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4)} + SCAN(1) on default.jointable12 as t2 + => target list: default.t2.id (INT4) + => out schema: {(1) default.t2.id (INT4)} + => in schema: {(2) default.t2.id (INT4), default.t2.name (TEXT)} + SCAN(0) on default.jointable11 as t1 + => target list: default.t1.id (INT4), default.t1.name (TEXT) + => out schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} + => in schema: {(2) default.t1.id (INT4), default.t1.name (TEXT)} ======================================================= Block Id: eb_0000000000000_0000_000006 [TERMINAL] http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan index 735f305..81c8d30 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} @@ -112,7 +112,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), default.t3.id (INT4), num=32) JOIN(8)(RIGHT_OUTER) - => Join Cond: default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t1.id (INT4) = default.t3.id (INT4) AND default.t2.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t2.id (INT4), default.t3.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan index 22fc8ce..a5043ff 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} @@ -47,7 +47,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] 1: type=Broadcast, tables=default.t1 JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan index f5486f9..3877a75 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} @@ -116,7 +116,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), num=32) JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan index 22fc8ce..a5043ff 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} @@ -47,7 +47,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] 1: type=Broadcast, tables=default.t1 JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan index f5486f9..3877a75 100644 --- a/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan +++ b/tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan @@ -1,7 +1,7 @@ explain ------------------------------- JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} @@ -116,7 +116,7 @@ Block Id: eb_0000000000000_0000_000005 [ROOT] [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.t3.id (INT4), num=32) JOIN(9)(RIGHT_OUTER) - => Join Cond: default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4) + => Join Cond: (default.t3.id (INT4) = 2 AND default.t4.id (INT4) = default.t3.id (INT4)) => target list: default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4) => out schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)} => in schema: {(4) default.t1.id (INT4), default.t1.name (TEXT), default.t3.id (INT4), default.t4.id (INT4)}
