tajo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jihoon...@apache.org
Subject [15/18] tajo git commit: TAJO-1766: Improve the performance of cross join.
Date Tue, 25 Aug 2015 09:21:00 GMT
http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan
new file mode 100644
index 0000000..de4fc4f
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan
@@ -0,0 +1,78 @@
+explain
+-------------------------------
+SORT(3)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   JOIN(7)(INNER)
+     => Join Cond: default.region.r_regionkey (INT4) = default.nation.n_regionkey (INT4)
+     => target list: cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+      SCAN(0) on default.region
+        => target list: CASE WHEN default.region.r_regionkey (INT4) = 1 THEN one WHEN default.region.r_regionkey (INT4) = 2 THEN two WHEN default.region.r_regionkey (INT4) = 3 THEN three WHEN default.region.r_regionkey (INT4) = 4 THEN four ELSE zero END as cond, default.region.r_regionkey (INT4)
+        => out schema: {(2) cond (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(1) on default.nation
+        => target list: default.nation.n_regionkey (INT4)
+        => out schema: {(1) 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_regionkey (INT4), default.region.r_regionkey (INT4), num=32)
+
+[Enforcers]
+ 0: type=Broadcast, tables=default.region
+
+SORT(11)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   JOIN(7)(INNER)
+     => Join Cond: default.region.r_regionkey (INT4) = default.nation.n_regionkey (INT4)
+     => target list: cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+      SCAN(0) on default.region
+        => target list: CASE WHEN default.region.r_regionkey (INT4) = 1 THEN one WHEN default.region.r_regionkey (INT4) = 2 THEN two WHEN default.region.r_regionkey (INT4) = 3 THEN three WHEN default.region.r_regionkey (INT4) = 4 THEN four ELSE zero END as cond, default.region.r_regionkey (INT4)
+        => out schema: {(2) cond (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(1) on default.nation
+        => target list: default.nation.n_regionkey (INT4)
+        => out schema: {(1) 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_regionkey (INT4), default.region.r_regionkey (INT4), num=32)
+
+[Enforcers]
+ 0: sorted input=eb_0000000000000_0000_000003
+
+SORT(3)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   SCAN(12) on eb_0000000000000_0000_000003
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000005 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
new file mode 100644
index 0000000..6153908
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
@@ -0,0 +1,105 @@
+explain
+-------------------------------
+SORT(3)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   JOIN(7)(INNER)
+     => Join Cond: default.region.r_regionkey (INT4) = default.nation.n_regionkey (INT4)
+     => target list: cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+      SCAN(0) on default.region
+        => target list: CASE WHEN default.region.r_regionkey (INT4) = 1 THEN one WHEN default.region.r_regionkey (INT4) = 2 THEN two WHEN default.region.r_regionkey (INT4) = 3 THEN three WHEN default.region.r_regionkey (INT4) = 4 THEN four ELSE zero END as cond, default.region.r_regionkey (INT4)
+        => out schema: {(2) cond (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(1) on default.nation
+        => target list: default.nation.n_regionkey (INT4)
+        => out schema: {(1) 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, key=default.nation.n_regionkey (INT4), num=32)
+
+SCAN(1) on default.nation
+  => target list: default.nation.n_regionkey (INT4)
+  => out schema: {(1) 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, key=default.region.r_regionkey (INT4), num=32)
+
+SCAN(0) on default.region
+  => target list: CASE WHEN default.region.r_regionkey (INT4) = 1 THEN one WHEN default.region.r_regionkey (INT4) = 2 THEN two WHEN default.region.r_regionkey (INT4) = 3 THEN three WHEN default.region.r_regionkey (INT4) = 4 THEN four ELSE zero END as cond, default.region.r_regionkey (INT4)
+  => out schema: {(2) cond (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, key=default.nation.n_regionkey (INT4), num=32)
+[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=default.region.r_regionkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 3 => 4 (type=RANGE_SHUFFLE, key=default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4), num=32)
+
+SORT(11)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   JOIN(7)(INNER)
+     => Join Cond: default.region.r_regionkey (INT4) = default.nation.n_regionkey (INT4)
+     => target list: cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+      SCAN(10) on eb_0000000000000_0000_000002
+        => out schema: {(2) cond (TEXT), default.region.r_regionkey (INT4)}
+        => in schema: {(2) cond (TEXT), default.region.r_regionkey (INT4)}
+      SCAN(9) on eb_0000000000000_0000_000001
+        => out schema: {(1) default.nation.n_regionkey (INT4)}
+        => in schema: {(1) 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_regionkey (INT4), default.region.r_regionkey (INT4), num=32)
+
+[Enforcers]
+ 0: sorted input=eb_0000000000000_0000_000003
+
+SORT(3)
+  => Sort Keys: default.region.r_regionkey (INT4) (asc),default.nation.n_regionkey (INT4) (asc)
+   SCAN(12) on eb_0000000000000_0000_000003
+     => out schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+     => in schema: {(3) cond (TEXT), default.nation.n_regionkey (INT4), default.region.r_regionkey (INT4)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000005 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result
new file mode 100644
index 0000000..0ac2083
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result
@@ -0,0 +1,27 @@
+r_regionkey,n_regionkey,cond
+-------------------------------
+0,0,zero
+0,0,zero
+0,0,zero
+0,0,zero
+0,0,zero
+1,1,one
+1,1,one
+1,1,one
+1,1,one
+1,1,one
+2,2,two
+2,2,two
+2,2,two
+2,2,two
+2,2,two
+3,3,three
+3,3,three
+3,3,three
+3,3,three
+3,3,three
+4,4,four
+4,4,four
+4,4,four
+4,4,four
+4,4,four

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan
new file mode 100644
index 0000000..1941c5e
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan
@@ -0,0 +1,51 @@
+explain
+-------------------------------
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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
+
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan
new file mode 100644
index 0000000..579ff01
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan
@@ -0,0 +1,78 @@
+explain
+-------------------------------
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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.nation
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+  => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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_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.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(8) on eb_0000000000000_0000_000002
+     => 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)}
+   SCAN(7) on eb_0000000000000_0000_000001
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan
new file mode 100644
index 0000000..1941c5e
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan
@@ -0,0 +1,51 @@
+explain
+-------------------------------
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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
+
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan
new file mode 100644
index 0000000..579ff01
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan
@@ -0,0 +1,78 @@
+explain
+-------------------------------
+JOIN(5)(CROSS)
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(1) 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)}
+   SCAN(0) on default.nation
+     => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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.nation
+  => target list: default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)
+  => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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_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_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.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+  => out schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+  => in schema: {(7) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+   SCAN(8) on eb_0000000000000_0000_000002
+     => 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)}
+   SCAN(7) on eb_0000000000000_0000_000001
+     => out schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), 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 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result
new file mode 100644
index 0000000..d3bd041
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result
@@ -0,0 +1,127 @@
+n_nationkey,n_name,n_regionkey,n_comment,r_regionkey,r_name,r_comment
+-------------------------------
+0,ALGERIA,0, haggle. carefully final deposits detect slyly agai,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+0,ALGERIA,0, haggle. carefully final deposits detect slyly agai,1,AMERICA,hs use ironic, even requests. s
+0,ALGERIA,0, haggle. carefully final deposits detect slyly agai,2,ASIA,ges. thinly even pinto beans ca
+0,ALGERIA,0, haggle. carefully final deposits detect slyly agai,3,EUROPE,ly final courts cajole furiously final excuse
+0,ALGERIA,0, haggle. carefully final deposits detect slyly agai,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+1,ARGENTINA,1,al foxes promise slyly according to the regular accounts. bold requests alon,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+1,ARGENTINA,1,al foxes promise slyly according to the regular accounts. bold requests alon,1,AMERICA,hs use ironic, even requests. s
+1,ARGENTINA,1,al foxes promise slyly according to the regular accounts. bold requests alon,2,ASIA,ges. thinly even pinto beans ca
+1,ARGENTINA,1,al foxes promise slyly according to the regular accounts. bold requests alon,3,EUROPE,ly final courts cajole furiously final excuse
+1,ARGENTINA,1,al foxes promise slyly according to the regular accounts. bold requests alon,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+2,BRAZIL,1,y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special ,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+2,BRAZIL,1,y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special ,1,AMERICA,hs use ironic, even requests. s
+2,BRAZIL,1,y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special ,2,ASIA,ges. thinly even pinto beans ca
+2,BRAZIL,1,y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special ,3,EUROPE,ly final courts cajole furiously final excuse
+2,BRAZIL,1,y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special ,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+3,CANADA,1,eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+3,CANADA,1,eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold,1,AMERICA,hs use ironic, even requests. s
+3,CANADA,1,eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold,2,ASIA,ges. thinly even pinto beans ca
+3,CANADA,1,eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold,3,EUROPE,ly final courts cajole furiously final excuse
+3,CANADA,1,eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+4,EGYPT,4,y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+4,EGYPT,4,y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d,1,AMERICA,hs use ironic, even requests. s
+4,EGYPT,4,y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d,2,ASIA,ges. thinly even pinto beans ca
+4,EGYPT,4,y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d,3,EUROPE,ly final courts cajole furiously final excuse
+4,EGYPT,4,y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+5,ETHIOPIA,0,ven packages wake quickly. regu,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+5,ETHIOPIA,0,ven packages wake quickly. regu,1,AMERICA,hs use ironic, even requests. s
+5,ETHIOPIA,0,ven packages wake quickly. regu,2,ASIA,ges. thinly even pinto beans ca
+5,ETHIOPIA,0,ven packages wake quickly. regu,3,EUROPE,ly final courts cajole furiously final excuse
+5,ETHIOPIA,0,ven packages wake quickly. regu,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+6,FRANCE,3,refully final requests. regular, ironi,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+6,FRANCE,3,refully final requests. regular, ironi,1,AMERICA,hs use ironic, even requests. s
+6,FRANCE,3,refully final requests. regular, ironi,2,ASIA,ges. thinly even pinto beans ca
+6,FRANCE,3,refully final requests. regular, ironi,3,EUROPE,ly final courts cajole furiously final excuse
+6,FRANCE,3,refully final requests. regular, ironi,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+7,GERMANY,3,l platelets. regular accounts x-ray: unusual, regular acco,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+7,GERMANY,3,l platelets. regular accounts x-ray: unusual, regular acco,1,AMERICA,hs use ironic, even requests. s
+7,GERMANY,3,l platelets. regular accounts x-ray: unusual, regular acco,2,ASIA,ges. thinly even pinto beans ca
+7,GERMANY,3,l platelets. regular accounts x-ray: unusual, regular acco,3,EUROPE,ly final courts cajole furiously final excuse
+7,GERMANY,3,l platelets. regular accounts x-ray: unusual, regular acco,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+8,INDIA,2,ss excuses cajole slyly across the packages. deposits print aroun,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+8,INDIA,2,ss excuses cajole slyly across the packages. deposits print aroun,1,AMERICA,hs use ironic, even requests. s
+8,INDIA,2,ss excuses cajole slyly across the packages. deposits print aroun,2,ASIA,ges. thinly even pinto beans ca
+8,INDIA,2,ss excuses cajole slyly across the packages. deposits print aroun,3,EUROPE,ly final courts cajole furiously final excuse
+8,INDIA,2,ss excuses cajole slyly across the packages. deposits print aroun,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+9,INDONESIA,2, slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+9,INDONESIA,2, slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull,1,AMERICA,hs use ironic, even requests. s
+9,INDONESIA,2, slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull,2,ASIA,ges. thinly even pinto beans ca
+9,INDONESIA,2, slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull,3,EUROPE,ly final courts cajole furiously final excuse
+9,INDONESIA,2, slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+10,IRAN,4,efully alongside of the slyly final dependencies. ,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+10,IRAN,4,efully alongside of the slyly final dependencies. ,1,AMERICA,hs use ironic, even requests. s
+10,IRAN,4,efully alongside of the slyly final dependencies. ,2,ASIA,ges. thinly even pinto beans ca
+10,IRAN,4,efully alongside of the slyly final dependencies. ,3,EUROPE,ly final courts cajole furiously final excuse
+10,IRAN,4,efully alongside of the slyly final dependencies. ,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+11,IRAQ,4,nic deposits boost atop the quickly final requests? quickly regula,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+11,IRAQ,4,nic deposits boost atop the quickly final requests? quickly regula,1,AMERICA,hs use ironic, even requests. s
+11,IRAQ,4,nic deposits boost atop the quickly final requests? quickly regula,2,ASIA,ges. thinly even pinto beans ca
+11,IRAQ,4,nic deposits boost atop the quickly final requests? quickly regula,3,EUROPE,ly final courts cajole furiously final excuse
+11,IRAQ,4,nic deposits boost atop the quickly final requests? quickly regula,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+12,JAPAN,2,ously. final, express gifts cajole a,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+12,JAPAN,2,ously. final, express gifts cajole a,1,AMERICA,hs use ironic, even requests. s
+12,JAPAN,2,ously. final, express gifts cajole a,2,ASIA,ges. thinly even pinto beans ca
+12,JAPAN,2,ously. final, express gifts cajole a,3,EUROPE,ly final courts cajole furiously final excuse
+12,JAPAN,2,ously. final, express gifts cajole a,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+13,JORDAN,4,ic deposits are blithely about the carefully regular pa,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+13,JORDAN,4,ic deposits are blithely about the carefully regular pa,1,AMERICA,hs use ironic, even requests. s
+13,JORDAN,4,ic deposits are blithely about the carefully regular pa,2,ASIA,ges. thinly even pinto beans ca
+13,JORDAN,4,ic deposits are blithely about the carefully regular pa,3,EUROPE,ly final courts cajole furiously final excuse
+13,JORDAN,4,ic deposits are blithely about the carefully regular pa,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+14,KENYA,0, pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+14,KENYA,0, pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t,1,AMERICA,hs use ironic, even requests. s
+14,KENYA,0, pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t,2,ASIA,ges. thinly even pinto beans ca
+14,KENYA,0, pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t,3,EUROPE,ly final courts cajole furiously final excuse
+14,KENYA,0, pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+15,MOROCCO,0,rns. blithely bold courts among the closely regular packages use furiously bold platelets?,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+15,MOROCCO,0,rns. blithely bold courts among the closely regular packages use furiously bold platelets?,1,AMERICA,hs use ironic, even requests. s
+15,MOROCCO,0,rns. blithely bold courts among the closely regular packages use furiously bold platelets?,2,ASIA,ges. thinly even pinto beans ca
+15,MOROCCO,0,rns. blithely bold courts among the closely regular packages use furiously bold platelets?,3,EUROPE,ly final courts cajole furiously final excuse
+15,MOROCCO,0,rns. blithely bold courts among the closely regular packages use furiously bold platelets?,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+16,MOZAMBIQUE,0,s. ironic, unusual asymptotes wake blithely r,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+16,MOZAMBIQUE,0,s. ironic, unusual asymptotes wake blithely r,1,AMERICA,hs use ironic, even requests. s
+16,MOZAMBIQUE,0,s. ironic, unusual asymptotes wake blithely r,2,ASIA,ges. thinly even pinto beans ca
+16,MOZAMBIQUE,0,s. ironic, unusual asymptotes wake blithely r,3,EUROPE,ly final courts cajole furiously final excuse
+16,MOZAMBIQUE,0,s. ironic, unusual asymptotes wake blithely r,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+17,PERU,1,platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+17,PERU,1,platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun,1,AMERICA,hs use ironic, even requests. s
+17,PERU,1,platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun,2,ASIA,ges. thinly even pinto beans ca
+17,PERU,1,platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun,3,EUROPE,ly final courts cajole furiously final excuse
+17,PERU,1,platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+18,CHINA,2,c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+18,CHINA,2,c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos,1,AMERICA,hs use ironic, even requests. s
+18,CHINA,2,c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos,2,ASIA,ges. thinly even pinto beans ca
+18,CHINA,2,c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos,3,EUROPE,ly final courts cajole furiously final excuse
+18,CHINA,2,c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+19,ROMANIA,3,ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+19,ROMANIA,3,ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account,1,AMERICA,hs use ironic, even requests. s
+19,ROMANIA,3,ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account,2,ASIA,ges. thinly even pinto beans ca
+19,ROMANIA,3,ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account,3,EUROPE,ly final courts cajole furiously final excuse
+19,ROMANIA,3,ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+20,SAUDI ARABIA,4,ts. silent requests haggle. closely express packages sleep across the blithely,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+20,SAUDI ARABIA,4,ts. silent requests haggle. closely express packages sleep across the blithely,1,AMERICA,hs use ironic, even requests. s
+20,SAUDI ARABIA,4,ts. silent requests haggle. closely express packages sleep across the blithely,2,ASIA,ges. thinly even pinto beans ca
+20,SAUDI ARABIA,4,ts. silent requests haggle. closely express packages sleep across the blithely,3,EUROPE,ly final courts cajole furiously final excuse
+20,SAUDI ARABIA,4,ts. silent requests haggle. closely express packages sleep across the blithely,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+21,VIETNAM,2,hely enticingly express accounts. even, final ,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+21,VIETNAM,2,hely enticingly express accounts. even, final ,1,AMERICA,hs use ironic, even requests. s
+21,VIETNAM,2,hely enticingly express accounts. even, final ,2,ASIA,ges. thinly even pinto beans ca
+21,VIETNAM,2,hely enticingly express accounts. even, final ,3,EUROPE,ly final courts cajole furiously final excuse
+21,VIETNAM,2,hely enticingly express accounts. even, final ,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+22,RUSSIA,3, requests against the platelets use never according to the quickly regular pint,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+22,RUSSIA,3, requests against the platelets use never according to the quickly regular pint,1,AMERICA,hs use ironic, even requests. s
+22,RUSSIA,3, requests against the platelets use never according to the quickly regular pint,2,ASIA,ges. thinly even pinto beans ca
+22,RUSSIA,3, requests against the platelets use never according to the quickly regular pint,3,EUROPE,ly final courts cajole furiously final excuse
+22,RUSSIA,3, requests against the platelets use never according to the quickly regular pint,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+23,UNITED KINGDOM,3,eans boost carefully special requests. accounts are. carefull,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+23,UNITED KINGDOM,3,eans boost carefully special requests. accounts are. carefull,1,AMERICA,hs use ironic, even requests. s
+23,UNITED KINGDOM,3,eans boost carefully special requests. accounts are. carefull,2,ASIA,ges. thinly even pinto beans ca
+23,UNITED KINGDOM,3,eans boost carefully special requests. accounts are. carefull,3,EUROPE,ly final courts cajole furiously final excuse
+23,UNITED KINGDOM,3,eans boost carefully special requests. accounts are. carefull,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl
+24,UNITED STATES,1,y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be,0,AFRICA,lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to 
+24,UNITED STATES,1,y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be,1,AMERICA,hs use ironic, even requests. s
+24,UNITED STATES,1,y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be,2,ASIA,ges. thinly even pinto beans ca
+24,UNITED STATES,1,y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be,3,EUROPE,ly final courts cajole furiously final excuse
+24,UNITED STATES,1,y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be,4,MIDDLE EAST,uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl

http://git-wip-us.apache.org/repos/asf/tajo/blob/1a7c353c/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan
new file mode 100644
index 0000000..54d2e62
--- /dev/null
+++ b/tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan
@@ -0,0 +1,89 @@
+explain
+-------------------------------
+JOIN(11)(CROSS)
+  => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), de
 fault.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+  => out schema: {(35) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT
 ), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+  => in schema: {(35) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT)
 , default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+   SCAN(0) on default.orders
+     => target list: default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)
+     => out schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
+     => in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
+   JOIN(10)(INNER)
+     => Join Cond: default.lineitem.l_suppkey (INT4) = default.supplier.s_suppkey (INT4)
+     => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+     => out schema: {(26) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+     => in schema: {(26) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+      SCAN(5) on default.supplier
+        => target list: default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+        => out schema: {(7) default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+        => in schema: {(7) default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+      JOIN(9)(LEFT_OUTER)
+        => Join Cond: default.region.r_regionkey (INT4) = default.lineitem.l_orderkey (INT4)
+        => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+        => out schema: {(19) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+        => in schema: {(19) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+         SCAN(3) on default.lineitem
+           => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)
+           => out schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
+           => in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
+         SCAN(1) 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_000008)
+-------------------------------------------------------------------------------
+|-eb_0000000000000_0000_000008
+   |-eb_0000000000000_0000_000007
+-------------------------------------------------------------------------------
+Order of Execution
+-------------------------------------------------------------------------------
+1: eb_0000000000000_0000_000007
+2: eb_0000000000000_0000_000008
+-------------------------------------------------------------------------------
+
+=======================================================
+Block Id: eb_0000000000000_0000_000007 [ROOT]
+=======================================================
+
+[Enforcers]
+ 0: type=Broadcast, tables=default.supplier
+ 1: type=Broadcast, tables=default.region
+ 2: type=Broadcast, tables=default.orders
+
+JOIN(11)(CROSS)
+  => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), de
 fault.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+  => out schema: {(35) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT
 ), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+  => in schema: {(35) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT)
 , default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+   SCAN(0) on default.orders
+     => target list: default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)
+     => out schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
+     => in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
+   JOIN(10)(INNER)
+     => Join Cond: default.lineitem.l_suppkey (INT4) = default.supplier.s_suppkey (INT4)
+     => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+     => out schema: {(26) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+     => in schema: {(26) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4), default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+      SCAN(5) on default.supplier
+        => target list: default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)
+        => out schema: {(7) default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+        => in schema: {(7) default.supplier.s_acctbal (FLOAT8), default.supplier.s_address (TEXT), default.supplier.s_comment (TEXT), default.supplier.s_name (TEXT), default.supplier.s_nationkey (INT4), default.supplier.s_phone (TEXT), default.supplier.s_suppkey (INT4)}
+      JOIN(9)(LEFT_OUTER)
+        => Join Cond: default.region.r_regionkey (INT4) = default.lineitem.l_orderkey (INT4)
+        => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)
+        => out schema: {(19) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+        => in schema: {(19) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8), default.region.r_comment (TEXT), default.region.r_name (TEXT), default.region.r_regionkey (INT4)}
+         SCAN(3) on default.lineitem
+           => target list: default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)
+           => out schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
+           => in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
+         SCAN(1) 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_000008 [TERMINAL]
+=======================================================


Mime
View raw message