http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Hash_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Hash_NoBroadcast.plan new file mode 100644 index 0000000..b7ed23b --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Hash_NoBroadcast.plan @@ -0,0 +1,105 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=?lower_1 (TEXT), num=32) + +SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=?lower_2 (TEXT), num=32) + +SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=?lower_1 (TEXT), num=32) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=?lower_2 (TEXT), num=32) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +SORT(10) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +=======================================================
http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort.plan new file mode 100644 index 0000000..97fd030 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort.plan @@ -0,0 +1,79 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: type=Broadcast, tables=default.n1 + 1: type=Broadcast, tables=default.n2 + +SORT(8) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(9) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort_NoBroadcast.plan new file mode 100644 index 0000000..b7ed23b --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.Sort_NoBroadcast.plan @@ -0,0 +1,105 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=?lower_1 (TEXT), num=32) + +SCAN(0) on default.nation as n1 + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), lower(default.n1.n_name (TEXT)) as ?lower_1 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=?lower_2 (TEXT), num=32) + +SCAN(1) on default.nation as n2 + => target list: default.n2.n_name (TEXT), lower(default.n2.n_name (TEXT)) as ?lower_2 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=?lower_1 (TEXT), num=32) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=?lower_2 (TEXT), num=32) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +SORT(10) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: ?lower_1 (TEXT) = ?lower_2 (TEXT) + => target list: default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT) + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(5) ?lower_1 (TEXT), ?lower_2 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + => in schema: {(2) ?lower_2 (TEXT), default.n2.n_name (TEXT)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + => in schema: {(3) ?lower_1 (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + => in schema: {(3) default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n2.n_name (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.result ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.result b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.result new file mode 100644 index 0000000..0cdaae4 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition3.result @@ -0,0 +1,27 @@ +n_nationkey,n_name,n_name +------------------------------- +0,ALGERIA,ALGERIA +1,ARGENTINA,ARGENTINA +2,BRAZIL,BRAZIL +3,CANADA,CANADA +4,EGYPT,EGYPT +5,ETHIOPIA,ETHIOPIA +6,FRANCE,FRANCE +7,GERMANY,GERMANY +8,INDIA,INDIA +9,INDONESIA,INDONESIA +10,IRAN,IRAN +11,IRAQ,IRAQ +12,JAPAN,JAPAN +13,JORDAN,JORDAN +14,KENYA,KENYA +15,MOROCCO,MOROCCO +16,MOZAMBIQUE,MOZAMBIQUE +17,PERU,PERU +18,CHINA,CHINA +19,ROMANIA,ROMANIA +20,SAUDI ARABIA,SAUDI ARABIA +21,VIETNAM,VIETNAM +22,RUSSIA,RUSSIA +23,UNITED KINGDOM,UNITED KINGDOM +24,UNITED STATES,UNITED STATES http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash.plan new file mode 100644 index 0000000..41127e8 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash.plan @@ -0,0 +1,79 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: type=Broadcast, tables=default.n1 + 1: type=Broadcast, tables=default.n2 + +SORT(8) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(9) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash_NoBroadcast.plan new file mode 100644 index 0000000..c630393 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Hash_NoBroadcast.plan @@ -0,0 +1,105 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=name1 (TEXT), num=32) + +SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=name2 (TEXT), num=32) + +SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=name1 (TEXT), num=32) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=name2 (TEXT), num=32) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +SORT(10) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(1) name2 (TEXT)} + => in schema: {(1) name2 (TEXT)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort.plan new file mode 100644 index 0000000..41127e8 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort.plan @@ -0,0 +1,79 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: type=Broadcast, tables=default.n1 + 1: type=Broadcast, tables=default.n2 + +SORT(8) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(9) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort_NoBroadcast.plan new file mode 100644 index 0000000..c630393 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.Sort_NoBroadcast.plan @@ -0,0 +1,105 @@ +explain +------------------------------- +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=name1 (TEXT), num=32) + +SCAN(0) on default.nation as n1 + => target list: default.n1.n_nationkey (INT4), substr(default.n1.n_name (TEXT),1,4) as name1 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(4) default.n1.n_comment (TEXT), default.n1.n_name (TEXT), default.n1.n_nationkey (INT4), default.n1.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=name2 (TEXT), num=32) + +SCAN(1) on default.nation as n2 + => target list: substr(default.n2.n_name (TEXT),1,4) as name2 + => out schema: {(1) name2 (TEXT)} + => in schema: {(4) default.n2.n_comment (TEXT), default.n2.n_name (TEXT), default.n2.n_nationkey (INT4), default.n2.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=name1 (TEXT), num=32) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=name2 (TEXT), num=32) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +SORT(10) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + JOIN(6)(INNER) + => Join Cond: name1 (TEXT) = name2 (TEXT) + => target list: default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT) + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(1) name2 (TEXT)} + => in schema: {(1) name2 (TEXT)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + => in schema: {(2) default.n1.n_nationkey (INT4), name1 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.n1.n_nationkey (INT4), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(3) + => Sort Keys: default.n1.n_nationkey (INT4) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + => in schema: {(3) default.n1.n_nationkey (INT4), name1 (TEXT), name2 (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.result ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.result b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.result new file mode 100644 index 0000000..9244a0b --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testComplexJoinCondition4.result @@ -0,0 +1,29 @@ +n_nationkey,name1,name2 +------------------------------- +0,ALGE,ALGE +1,ARGE,ARGE +2,BRAZ,BRAZ +3,CANA,CANA +4,EGYP,EGYP +5,ETHI,ETHI +6,FRAN,FRAN +7,GERM,GERM +8,INDI,INDI +9,INDO,INDO +10,IRAN,IRAN +11,IRAQ,IRAQ +12,JAPA,JAPA +13,JORD,JORD +14,KENY,KENY +15,MORO,MORO +16,MOZA,MOZA +17,PERU,PERU +18,CHIN,CHIN +19,ROMA,ROMA +20,SAUD,SAUD +21,VIET,VIET +22,RUSS,RUSS +23,UNIT,UNIT +23,UNIT,UNIT +24,UNIT,UNIT +24,UNIT,UNIT http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan new file mode 100644 index 0000000..c11b4c8 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan @@ -0,0 +1,77 @@ +explain +------------------------------- +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: type=Broadcast, tables=default.nation + 1: type=Broadcast, tables=default.region + +SORT(8) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + SCAN(9) on eb_0000000000000_0000_000003 + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan new file mode 100644 index 0000000..4278681 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan @@ -0,0 +1,103 @@ +explain +------------------------------- +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) + +SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +SORT(10) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan new file mode 100644 index 0000000..c11b4c8 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan @@ -0,0 +1,77 @@ +explain +------------------------------- +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: type=Broadcast, tables=default.nation + 1: type=Broadcast, tables=default.region + +SORT(8) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + SCAN(9) on eb_0000000000000_0000_000003 + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan new file mode 100644 index 0000000..4278681 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan @@ -0,0 +1,103 @@ +explain +------------------------------- +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000005) +------------------------------------------------------------------------------- +|-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_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +5: eb_0000000000000_0000_000005 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) + +SCAN(0) on default.nation + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4) + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +SCAN(1) on default.region + => target list: default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +[Outgoing] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +SORT(10) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + JOIN(6)(CROSS) + => target list: default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(9) on eb_0000000000000_0000_000002 + => out schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(2) default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(8) on eb_0000000000000_0000_000001 + => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + => in schema: {(2) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_name (TEXT), default.region.r_name (TEXT), num=32) + +[Enforcers] + 0: sorted input=eb_0000000000000_0000_000003 + +SORT(2) + => Sort Keys: default.nation.n_name (TEXT) (asc),default.region.r_name (TEXT) (asc) + SCAN(11) on eb_0000000000000_0000_000003 + => out schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(4) default.nation.n_name (TEXT), default.nation.n_regionkey (INT4), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000005 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result new file mode 100644 index 0000000..7d5a2f5 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result @@ -0,0 +1,127 @@ +n_name,r_name,n_regionkey,r_regionkey +------------------------------- +ALGERIA,AFRICA,0,0 +ALGERIA,AMERICA,0,1 +ALGERIA,ASIA,0,2 +ALGERIA,EUROPE,0,3 +ALGERIA,MIDDLE EAST,0,4 +ARGENTINA,AFRICA,1,0 +ARGENTINA,AMERICA,1,1 +ARGENTINA,ASIA,1,2 +ARGENTINA,EUROPE,1,3 +ARGENTINA,MIDDLE EAST,1,4 +BRAZIL,AFRICA,1,0 +BRAZIL,AMERICA,1,1 +BRAZIL,ASIA,1,2 +BRAZIL,EUROPE,1,3 +BRAZIL,MIDDLE EAST,1,4 +CANADA,AFRICA,1,0 +CANADA,AMERICA,1,1 +CANADA,ASIA,1,2 +CANADA,EUROPE,1,3 +CANADA,MIDDLE EAST,1,4 +CHINA,AFRICA,2,0 +CHINA,AMERICA,2,1 +CHINA,ASIA,2,2 +CHINA,EUROPE,2,3 +CHINA,MIDDLE EAST,2,4 +EGYPT,AFRICA,4,0 +EGYPT,AMERICA,4,1 +EGYPT,ASIA,4,2 +EGYPT,EUROPE,4,3 +EGYPT,MIDDLE EAST,4,4 +ETHIOPIA,AFRICA,0,0 +ETHIOPIA,AMERICA,0,1 +ETHIOPIA,ASIA,0,2 +ETHIOPIA,EUROPE,0,3 +ETHIOPIA,MIDDLE EAST,0,4 +FRANCE,AFRICA,3,0 +FRANCE,AMERICA,3,1 +FRANCE,ASIA,3,2 +FRANCE,EUROPE,3,3 +FRANCE,MIDDLE EAST,3,4 +GERMANY,AFRICA,3,0 +GERMANY,AMERICA,3,1 +GERMANY,ASIA,3,2 +GERMANY,EUROPE,3,3 +GERMANY,MIDDLE EAST,3,4 +INDIA,AFRICA,2,0 +INDIA,AMERICA,2,1 +INDIA,ASIA,2,2 +INDIA,EUROPE,2,3 +INDIA,MIDDLE EAST,2,4 +INDONESIA,AFRICA,2,0 +INDONESIA,AMERICA,2,1 +INDONESIA,ASIA,2,2 +INDONESIA,EUROPE,2,3 +INDONESIA,MIDDLE EAST,2,4 +IRAN,AFRICA,4,0 +IRAN,AMERICA,4,1 +IRAN,ASIA,4,2 +IRAN,EUROPE,4,3 +IRAN,MIDDLE EAST,4,4 +IRAQ,AFRICA,4,0 +IRAQ,AMERICA,4,1 +IRAQ,ASIA,4,2 +IRAQ,EUROPE,4,3 +IRAQ,MIDDLE EAST,4,4 +JAPAN,AFRICA,2,0 +JAPAN,AMERICA,2,1 +JAPAN,ASIA,2,2 +JAPAN,EUROPE,2,3 +JAPAN,MIDDLE EAST,2,4 +JORDAN,AFRICA,4,0 +JORDAN,AMERICA,4,1 +JORDAN,ASIA,4,2 +JORDAN,EUROPE,4,3 +JORDAN,MIDDLE EAST,4,4 +KENYA,AFRICA,0,0 +KENYA,AMERICA,0,1 +KENYA,ASIA,0,2 +KENYA,EUROPE,0,3 +KENYA,MIDDLE EAST,0,4 +MOROCCO,AFRICA,0,0 +MOROCCO,AMERICA,0,1 +MOROCCO,ASIA,0,2 +MOROCCO,EUROPE,0,3 +MOROCCO,MIDDLE EAST,0,4 +MOZAMBIQUE,AFRICA,0,0 +MOZAMBIQUE,AMERICA,0,1 +MOZAMBIQUE,ASIA,0,2 +MOZAMBIQUE,EUROPE,0,3 +MOZAMBIQUE,MIDDLE EAST,0,4 +PERU,AFRICA,1,0 +PERU,AMERICA,1,1 +PERU,ASIA,1,2 +PERU,EUROPE,1,3 +PERU,MIDDLE EAST,1,4 +ROMANIA,AFRICA,3,0 +ROMANIA,AMERICA,3,1 +ROMANIA,ASIA,3,2 +ROMANIA,EUROPE,3,3 +ROMANIA,MIDDLE EAST,3,4 +RUSSIA,AFRICA,3,0 +RUSSIA,AMERICA,3,1 +RUSSIA,ASIA,3,2 +RUSSIA,EUROPE,3,3 +RUSSIA,MIDDLE EAST,3,4 +SAUDI ARABIA,AFRICA,4,0 +SAUDI ARABIA,AMERICA,4,1 +SAUDI ARABIA,ASIA,4,2 +SAUDI ARABIA,EUROPE,4,3 +SAUDI ARABIA,MIDDLE EAST,4,4 +UNITED KINGDOM,AFRICA,3,0 +UNITED KINGDOM,AMERICA,3,1 +UNITED KINGDOM,ASIA,3,2 +UNITED KINGDOM,EUROPE,3,3 +UNITED KINGDOM,MIDDLE EAST,3,4 +UNITED STATES,AFRICA,1,0 +UNITED STATES,AMERICA,1,1 +UNITED STATES,ASIA,1,2 +UNITED STATES,EUROPE,1,3 +UNITED STATES,MIDDLE EAST,1,4 +VIETNAM,AFRICA,2,0 +VIETNAM,AMERICA,2,1 +VIETNAM,ASIA,2,2 +VIETNAM,EUROPE,2,3 +VIETNAM,MIDDLE EAST,2,4 http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan new file mode 100644 index 0000000..ed77747 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan @@ -0,0 +1,52 @@ +explain +------------------------------- +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000004) +------------------------------------------------------------------------------- +|-eb_0000000000000_0000_000004 + |-eb_0000000000000_0000_000003 +------------------------------------------------------------------------------- +Order of Execution +------------------------------------------------------------------------------- +1: eb_0000000000000_0000_000003 +2: eb_0000000000000_0000_000004 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [ROOT] +======================================================= + +[Enforcers] + 0: type=Broadcast, tables=default.region + 1: type=Broadcast, tables=default.customer + +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan new file mode 100644 index 0000000..b430c88 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan @@ -0,0 +1,78 @@ +explain +------------------------------- +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000004) +------------------------------------------------------------------------------- +|-eb_0000000000000_0000_000004 + |-eb_0000000000000_0000_000003 + |-eb_0000000000000_0000_000002 + |-eb_0000000000000_0000_000001 +------------------------------------------------------------------------------- +Order of Execution +------------------------------------------------------------------------------- +1: eb_0000000000000_0000_000001 +2: eb_0000000000000_0000_000002 +3: eb_0000000000000_0000_000003 +4: eb_0000000000000_0000_000004 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000001 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) + +SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000002 [LEAF] +======================================================= + +[Outgoing] +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + +======================================================= +Block Id: eb_0000000000000_0000_000003 [ROOT] +======================================================= + +[Incoming] +[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE) +[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE) + +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(8) on eb_0000000000000_0000_000002 + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(7) on eb_0000000000000_0000_000001 + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [TERMINAL] +======================================================= http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan new file mode 100644 index 0000000..ed77747 --- /dev/null +++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan @@ -0,0 +1,52 @@ +explain +------------------------------- +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} +explain +------------------------------- +------------------------------------------------------------------------------- +Execution Block Graph (TERMINAL - eb_0000000000000_0000_000004) +------------------------------------------------------------------------------- +|-eb_0000000000000_0000_000004 + |-eb_0000000000000_0000_000003 +------------------------------------------------------------------------------- +Order of Execution +------------------------------------------------------------------------------- +1: eb_0000000000000_0000_000003 +2: eb_0000000000000_0000_000004 +------------------------------------------------------------------------------- + +======================================================= +Block Id: eb_0000000000000_0000_000003 [ROOT] +======================================================= + +[Enforcers] + 0: type=Broadcast, tables=default.region + 1: type=Broadcast, tables=default.customer + +JOIN(5)(CROSS) + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(11) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + SCAN(1) on default.customer + => target list: default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT) + => out schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} + SCAN(0) on default.region + => target list: default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4) + => out schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + => in schema: {(3) default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)} + +======================================================= +Block Id: eb_0000000000000_0000_000004 [TERMINAL] +=======================================================
