You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2015/05/25 16:36:35 UTC

[42/57] [abbrv] tajo git commit: TAJO-1577: Add test cases to verify join plans. (jihoon)

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoin1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoin1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoin1.sql
deleted file mode 100644
index ccaa5fb..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoin1.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  c_custkey,
-  orders.o_orderkey
-from
-  orders full outer join customer on c_custkey = o_orderkey
-order by
-  c_custkey,
-  orders.o_orderkey;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.sql
deleted file mode 100644
index b9e3efd..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  c_custkey,
-  empty_orders.o_orderkey
-from
-  empty_orders full outer join customer on c_custkey = o_orderkey
-order by
-  c_custkey,
-  empty_orders.o_orderkey;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testInnerJoinWithEmptyTable.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testInnerJoinWithEmptyTable.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testInnerJoinWithEmptyTable.sql
deleted file mode 100644
index 1e0cb56..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testInnerJoinWithEmptyTable.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  c_custkey,
-  empty_orders.o_orderkey
-from
-  customer, empty_orders
-where c_custkey = o_orderkey
-order by
-  c_custkey, o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvals1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvals1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvals1.sql
deleted file mode 100644
index 3a123bb..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvals1.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-select
-  r_regionkey,
-  n_regionkey,
-  (r_regionkey + n_regionkey) as plus
-from
-  region,
-  nation
-where
-  r_regionkey = n_regionkey
-order by
-  r_regionkey, n_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.sql
deleted file mode 100644
index 3638393..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-select
-  n_regionkey + n_nationkey as v1,
-  n_regionkey,
-  r_regionkey,
-  (r_regionkey + n_regionkey) as plus1,
-  (r_regionkey + n_regionkey) as plus2,
-  ((r_regionkey + n_regionkey) / 2) as result
-from
-  region,
-  nation
-where
-  r_regionkey = n_regionkey and r_regionkey > 0
-order by
-  n_regionkey + n_nationkey, n_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.sql
deleted file mode 100644
index a5b75d4..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.sql
+++ /dev/null
@@ -1,22 +0,0 @@
-select
-  n_regionkey + n_nationkey as v1,
-  n_regionkey,
-  r_regionkey,
-  (r_regionkey + n_regionkey) as plus1,
-  (r_regionkey + n_regionkey) as plus2,
-  ((r_regionkey + n_regionkey) / 2) as result,
-  sum(r_regionkey + n_regionkey) as total
-from
-  region,
-  nation
-where
-  r_regionkey = n_regionkey and r_regionkey > 0
-group by
-  n_regionkey + n_nationkey,
-  n_regionkey,
-  r_regionkey,
-  (r_regionkey + n_regionkey),
-  ((r_regionkey + n_regionkey) / 2)
-
-order by
-  n_regionkey + n_nationkey, n_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinOnMultipleDatabases.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinOnMultipleDatabases.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinOnMultipleDatabases.sql
deleted file mode 100644
index eb5a2c5..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testJoinOnMultipleDatabases.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-select
-	s_acctbal,
-	s_name,
-	n_name,
-	JOINS.part_.p_partkey,
-	p_mfgr,
-	JOINS.supplier_.s_address,
-	JOINS.supplier_.s_phone,
-	s_comment
-from
-	JOINS.part_,
-	JOINS.supplier_,
-	partsupp,
-	nation,
-	region
-where
-	p_partkey = ps_partkey
-	and s_suppkey = ps_suppkey
-	and s_nationkey = n_nationkey
-	and n_regionkey = r_regionkey
-order by
-  s_acctbal,
-  s_name,
-  n_name,
-  p_partkey;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin1.sql
deleted file mode 100644
index 08a68e8..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin1.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  c_custkey,
-  orders.o_orderkey,
-  orders.o_orderstatus,
-  orders.o_orderdate
-from
-  customer left outer join orders on c_custkey = o_orderkey
-order by
-  c_custkey, o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin2.sql
deleted file mode 100644
index 4061200..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin2.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-select a.l_orderkey, b.c_custkey, b.c_name, b.c_nationkey, d.n_name
-from lineitem_large a
-left outer join customer_large b on a.l_orderkey = b.c_custkey
-left outer join orders c on b.c_custkey = c.o_custkey
-left outer join nation d on a.l_orderkey = d.n_nationkey

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin3.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin3.sql
deleted file mode 100644
index a983b41..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin3.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-select a.c_custkey, a.c_name, a.c_nationkey, b.l_orderkey, c.o_orderdate, d.o_orderdate, e.n_name, f.p_name
-from customer_large a
-left outer join lineitem_large b on a.c_custkey = b.l_orderkey
-left outer join orders c on b.l_orderkey = c.o_orderkey
-left outer join orders_large d on a.c_custkey = d.o_orderkey
-left outer join nation e on d.o_orderkey = e.n_nationkey
-left outer join part f on f.p_partkey = d.o_orderkey

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.sql
deleted file mode 100644
index f5b0ba7..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  c_custkey,
-  orders.o_orderkey,
-  'val' as val
-from
-  customer left outer join orders on c_custkey = o_orderkey
-order by
-  c_custkey,
-  o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.sql
deleted file mode 100644
index 7333d54..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  c_custkey,
-  o.o_orderkey,
-  'val' as val
-from
-  customer left outer join (select * from orders) o on c_custkey = o.o_orderkey
-order by
-  c_custkey,
-  o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.sql
deleted file mode 100644
index f79b18b..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.sql
+++ /dev/null
@@ -1,17 +0,0 @@
-select
-  a.c_custkey,
-  123::INT8 as const_val,
-  b.min_name
-from
-  customer a
-left outer join (
-  select
-    c_custkey,
-    min(c_name) as min_name
-    from customer
-  group by
-    c_custkey)
-  b
-on a.c_custkey = b.c_custkey
-order by
-  a.c_custkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.sql
deleted file mode 100644
index 27ac8bc..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  c_custkey,
-  empty_orders.o_orderkey,
-  empty_orders.o_orderstatus,
-  empty_orders.o_orderdate
-from
-  customer left outer join empty_orders on c_custkey = o_orderkey
-order by
-  c_custkey, o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.sql
deleted file mode 100644
index b0639ff..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  c_custkey,
-  sum(empty_orders.o_orderkey),
-  max(empty_orders.o_orderstatus),
-  max(empty_orders.o_orderdate)
-from
-  customer left outer join empty_orders on c_custkey = o_orderkey
-  group by c_custkey
-order by c_custkey ;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.sql
deleted file mode 100644
index 6a79e34..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-select count(*)
-from (
-  select
-    c_custkey,
-    sum(empty_orders.o_orderkey) as total1,
-    max(empty_orders.o_orderstatus) as total2,
-    max(empty_orders.o_orderdate) as total3
-  from
-    customer left outer join empty_orders on c_custkey = o_orderkey
-    group by c_custkey
-) t1
-group by
-  c_custkey
-order by c_custkey  ;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.sql
deleted file mode 100644
index 5f91a18..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.sql
+++ /dev/null
@@ -1,17 +0,0 @@
-
-  select
-    max(c_custkey),
-    sum(orders.o_orderkey),
-    max(orders.o_orderstatus),
-    max(orders.o_orderdate)
-  from
-    customer left outer join orders on c_custkey = o_orderkey
-  union
-  select
-    max(c_custkey),
-    sum(empty_orders.o_orderkey),
-    max(empty_orders.o_orderstatus),
-    max(empty_orders.o_orderdate)
-  from
-    customer left outer join empty_orders on c_custkey = o_orderkey
-;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength.sql
deleted file mode 100644
index 83ddf34..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-select * from customer_large a
- left outer join nation_multifile b on a.c_nationkey = b.n_nationkey
- where b.n_nationkey is null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength2.sql
deleted file mode 100644
index f0b5101..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultipleBroadcastDataFileWithZeroLength2.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-select b.o_orderkey, b.o_orderdate, b.o_custkey, a.c_custkey, a.c_name, c.n_nationkey, c.n_name
-from customer_large a
- left outer join orders_large b on a.c_custkey = b.o_custkey
- left outer join nation_multifile c on a.c_nationkey = c.n_nationkey
- where c.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
deleted file mode 100644
index c358cc7..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-select * from customer_large a
- left outer join nation_partitioned b on a.c_nationkey = b.n_nationkey
- where b.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
deleted file mode 100644
index 00265da..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-select b.o_orderkey, b.o_orderdate, b.o_custkey, a.c_custkey, a.c_name, c.n_nationkey, c.n_name
-from customer_large a
- left outer join orders_large b on a.c_custkey = b.o_custkey
- left outer join nation_partitioned c on a.c_nationkey = c.n_nationkey
- where c.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testOuterJoinAndCaseWhen1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testOuterJoinAndCaseWhen1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testOuterJoinAndCaseWhen1.sql
deleted file mode 100644
index a7ebef4..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testOuterJoinAndCaseWhen1.sql
+++ /dev/null
@@ -1,12 +0,0 @@
-select
-  a.id,
-  a.name,
-  b.id as id2,
-  b.name as name2,
-  case when b.name is null then '9991231' else b.name end as c1,
-  case when c.name is null then '9991231' else c.name end as c2
-from
-  table1 a left outer join table2 b on a.id = b.id left outer join table1 c on b.id = c.id
-order by
-  a.id,
-  a.name;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoin1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoin1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoin1.sql
deleted file mode 100644
index ba4c713..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoin1.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  c_custkey,
-  orders.o_orderkey
-from
-  orders right outer join customer on c_custkey = o_orderkey
-order by
-  c_custkey,
-  orders.o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.sql
deleted file mode 100644
index 651a3cf..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  c_custkey,
-  empty_orders.o_orderkey
-from
-  empty_orders right outer join customer on c_custkey = o_orderkey
-order by
-  c_custkey,
-  empty_orders.o_orderkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testTPCHQ2Join.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testTPCHQ2Join.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testTPCHQ2Join.sql
deleted file mode 100644
index 9b7b5b9..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testTPCHQ2Join.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-select
-	s_acctbal,
-	s_name,
-	n_name,
-	p_partkey,
-	p_mfgr,
-	s_address,
-	s_phone,
-	s_comment
-from
-	part,
-	supplier,
-	partsupp,
-	nation,
-	region
-where
-	p_partkey = ps_partkey
-	and s_suppkey = ps_suppkey
-	and s_nationkey = n_nationkey
-	and n_regionkey = r_regionkey
-order by
-  s_acctbal,
-  s_name,
-  n_name,
-  p_partkey;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin1.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin1.sql
deleted file mode 100644
index 069be09..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin1.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-select
-  n_name,
-  r_name,
-  n_regionkey,
-  r_regionkey
-from
-  nation,
-  region
-where
-  n_regionkey = r_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin2.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin2.sql
deleted file mode 100644
index 0c6539b..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin2.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  n_name,
-  r_name
-from
-  nation,
-  region
-where
-  n_regionkey = r_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin3.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin3.sql
deleted file mode 100644
index 6495958..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin3.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
-  n_name,
-  r_name,
-  n_nationkey + 1 as p1,
-  r_regionkey + 1 as p2
-from
-  nation, region
-where
-  n_regionkey = r_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin4.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin4.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin4.sql
deleted file mode 100644
index d8ee615..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin4.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-select
-  n_name,
-  r_name,
-  n_nationkey + r_regionkey
-from
-  nation, region
-where
-  n_regionkey = r_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin5.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin5.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin5.sql
deleted file mode 100644
index 3494007..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin5.sql
+++ /dev/null
@@ -1,15 +0,0 @@
-select
-	s_acctbal,
-	s_name,
-	p_partkey
-from
-	part,
-	supplier,
-	partsupp
-where
-	p_partkey = ps_partkey and
-	s_suppkey = ps_suppkey
-order by
-  s_acctbal,
-  s_name,
-  p_partkey;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin6.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin6.sql b/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin6.sql
deleted file mode 100644
index 62d3b79..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin6.sql
+++ /dev/null
@@ -1,19 +0,0 @@
-select
-	s_acctbal,
-	s_name,
-	p_partkey,
-	n_name
-from
-	part,
-	supplier,
-	partsupp,
-	nation
-where
-	p_partkey = ps_partkey and
-	s_suppkey = ps_suppkey and
-	s_nationkey = n_nationkey
-order by
-  s_acctbal,
-  s_name,
-  p_partkey,
-  n_name;

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/customer_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/customer_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/customer_ddl.sql
deleted file mode 100644
index ca43710..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/customer_ddl.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-CREATE TABLE customer_parts (
-  c_custkey    INT4,
-  c_name    TEXT,
-  c_address    TEXT,
-  c_phone    TEXT,
-  c_acctbal    FLOAT8,
-  c_mktsegment    TEXT,
-  c_comment    TEXT
-) PARTITION BY COLUMN (c_nationkey INT4);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/insert_into_customer.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/insert_into_customer.sql b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/insert_into_customer.sql
deleted file mode 100644
index 29152b6..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/insert_into_customer.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-INSERT OVERWRITE INTO customer_parts
-  SELECT
-    c_custkey,
-    c_name,
-    c_address,
-    c_phone,
-    c_acctbal,
-    c_mktsegment,
-    c_comment,
-    c_nationkey
-  FROM customer;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testBroadcastPartitionTable.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testBroadcastPartitionTable.sql b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testBroadcastPartitionTable.sql
new file mode 100644
index 0000000..8d555a7
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testBroadcastPartitionTable.sql
@@ -0,0 +1,16 @@
+select
+  c_custkey,
+  c_name,
+  c_nationkey,
+  n_nationkey,
+  o_orderkey
+from
+  customer_broad_parts,
+  nation_multifile,
+  orders
+where
+  c_nationkey = n_nationkey
+and
+  o_custkey = c_custkey
+order by
+  c_custkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
new file mode 100644
index 0000000..8e35e26
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength.sql
@@ -0,0 +1,3 @@
+select * from customer a
+ left outer join nation_partitioned b on a.c_nationkey = b.n_nationkey
+ where b.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
new file mode 100644
index 0000000..58a4ad2
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinOnPartitionedTables/testMultiplePartitionedBroadcastDataFileWithZeroLength2.sql
@@ -0,0 +1,5 @@
+select b.o_orderkey, b.o_orderdate, b.o_custkey, a.c_custkey, a.c_name, c.n_nationkey, c.n_name
+from customer a
+ left outer join orders b on a.c_custkey = b.o_custkey
+ left outer join nation_partitioned c on a.c_nationkey = c.n_nationkey
+ where c.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/create_customer_large_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/create_customer_large_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/create_customer_large_ddl.sql
new file mode 100644
index 0000000..e5be236
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/create_customer_large_ddl.sql
@@ -0,0 +1,7 @@
+-- Large customer Table
+-- It is used for broadcast join
+
+create external table if not exists customer_large (
+    c_custkey INT4, c_name TEXT, c_address TEXT, c_nationkey INT4,
+    c_phone TEXT, c_acctbal FLOAT8, c_mktsegment TEXT, c_comment TEXT)
+using csv with ('csvfile.delimiter'='|', 'csvfile.null'='NULL') location ${table.path};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/create_lineitem_large_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/create_lineitem_large_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/create_lineitem_large_ddl.sql
new file mode 100644
index 0000000..366f22b
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/create_lineitem_large_ddl.sql
@@ -0,0 +1,7 @@
+-- Large lineitem Table
+-- It is used for broadcast join
+
+create external table if not exists lineitem_large ( l_orderkey INT4, l_partkey INT4, l_suppkey INT4, l_linenumber INT4, l_quantity FLOAT8,
+    l_extendedprice FLOAT8, l_discount FLOAT8, l_tax FLOAT8, l_returnflag TEXT, l_linestatus TEXT, l_shipdate TEXT, l_commitdate TEXT,
+    l_receiptdate TEXT, l_shipinstruct TEXT, l_shipmode TEXT, l_comment TEXT)
+using csv with ('csvfile.delimiter'='|', 'csvfile.null'='NULL') location ${table.path};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/create_orders_large_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/create_orders_large_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/create_orders_large_ddl.sql
new file mode 100644
index 0000000..4b9bb65
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/create_orders_large_ddl.sql
@@ -0,0 +1,7 @@
+-- Large Orders Table
+-- It is used for broadcast join
+
+create external table if not exists orders_large ( o_orderkey INT4, o_custkey INT4,
+   o_orderstatus TEXT, o_totalprice FLOAT8, o_orderdate TEXT,
+   o_orderpriority TEXT, o_clerk TEXT, o_shippriority INT4, o_comment TEXT)
+using csv with ('csvfile.delimiter'='|', 'csvfile.null'='NULL') location ${table.path};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/customer_partition_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/customer_partition_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/customer_partition_ddl.sql
new file mode 100644
index 0000000..7d07474
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/customer_partition_ddl.sql
@@ -0,0 +1,9 @@
+CREATE TABLE customer_broad_parts (
+  c_nationkey INT4,
+  c_name    TEXT,
+  c_address    TEXT,
+  c_phone    TEXT,
+  c_acctbal    FLOAT8,
+  c_mktsegment    TEXT,
+  c_comment    TEXT
+) PARTITION BY COLUMN (c_custkey    INT4);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer.sql
new file mode 100644
index 0000000..29152b6
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer.sql
@@ -0,0 +1,11 @@
+INSERT OVERWRITE INTO customer_parts
+  SELECT
+    c_custkey,
+    c_name,
+    c_address,
+    c_phone,
+    c_acctbal,
+    c_mktsegment,
+    c_comment,
+    c_nationkey
+  FROM customer;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer_partition.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer_partition.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer_partition.sql
new file mode 100644
index 0000000..3a500a1
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/insert_into_customer_partition.sql
@@ -0,0 +1,11 @@
+INSERT OVERWRITE INTO customer_broad_parts
+  SELECT
+    c_nationkey,
+    c_name,
+    c_address,
+    c_phone,
+    c_acctbal,
+    c_mktsegment,
+    c_comment,
+    c_custkey
+  FROM customer;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/nation_multifile_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/nation_multifile_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/nation_multifile_ddl.sql
new file mode 100644
index 0000000..c3f595a
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/nation_multifile_ddl.sql
@@ -0,0 +1,5 @@
+create table nation_multifile (
+    n_nationkey int,
+    n_name text,
+    n_regionkey int,
+    n_comment text);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql
index a37403c..faf66f2 100644
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql
@@ -1,3 +1,3 @@
-create external table table1 (id int, name text, score float, type text) using csv
+create external table testOuterJoinAndCaseWhen1 (id int, name text, score float, type text) using csv
 with ('csvfile.delimiter'='|', 'csvfile.null'='NULL') location ${table.path};
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql
index d60b145..5680663 100644
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql
@@ -1,3 +1,3 @@
-create external table table2 (id int, name text, score float, type text) using csv
+create external table testOuterJoinAndCaseWhen2 (id int, name text, score float, type text) using csv
 with ('csvfile.delimiter'='|', 'csvfile.null'='NULL') location ${table.path};
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/orders_multifile_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/orders_multifile_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/orders_multifile_ddl.sql
new file mode 100644
index 0000000..64f70f2
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/orders_multifile_ddl.sql
@@ -0,0 +1,5 @@
+create table orders_multifile (
+    o_orderkey int,
+    o_custkey int,
+    o_orderstatus text
+);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/partitioned_customer_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/partitioned_customer_ddl.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/partitioned_customer_ddl.sql
new file mode 100644
index 0000000..1d2c3fe
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/partitioned_customer_ddl.sql
@@ -0,0 +1,19 @@
+CREATE TABLE if not exists customer_parts (
+  c_custkey    INT4,
+  c_name    TEXT,
+  c_address    TEXT,
+  c_phone    TEXT,
+  c_acctbal    FLOAT8,
+  c_mktsegment    TEXT,
+  c_comment    TEXT
+) PARTITION BY COLUMN (c_nationkey INT4) as
+  SELECT
+    c_custkey,
+    c_name,
+    c_address,
+    c_phone,
+    c_acctbal,
+    c_mktsegment,
+    c_comment,
+    c_nationkey
+  FROM customer;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql
deleted file mode 100644
index 1bb2916..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql
+++ /dev/null
@@ -1 +0,0 @@
-select n_name, r_name, n_regionkey, r_regionkey from nation, region order by n_name, r_name;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql
deleted file mode 100644
index 111a371..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql
+++ /dev/null
@@ -1 +0,0 @@
-select region.*, customer.* from region, customer order by r_regionkey,r_name,c_custkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql
deleted file mode 100644
index ca1672e..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql
+++ /dev/null
@@ -1 +0,0 @@
-select region.*, customer.* from customer, region order by r_regionkey,r_name,c_custkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql
deleted file mode 100644
index fd44916..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql
+++ /dev/null
@@ -1 +0,0 @@
-select * from customer, region order by c_custkey,c_name,r_regionkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql
deleted file mode 100644
index fc5b1c3..0000000
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql
+++ /dev/null
@@ -1 +0,0 @@
-select length(r_comment) as len, *, c_custkey*10 from customer, region order by len,r_regionkey,r_name,c_custkey;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql b/tajo-core/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql
index a7ebef4..2071e65 100644
--- a/tajo-core/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql
+++ b/tajo-core/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql
@@ -6,7 +6,7 @@ select
   case when b.name is null then '9991231' else b.name end as c1,
   case when c.name is null then '9991231' else c.name end as c2
 from
-  table1 a left outer join table2 b on a.id = b.id left outer join table1 c on b.id = c.id
+  testOuterJoinAndCaseWhen1 a left outer join testOuterJoinAndCaseWhen2 b on a.id = b.id left outer join testOuterJoinAndCaseWhen1 c on b.id = c.id
 order by
   a.id,
   a.name;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin2.sql b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin2.sql
new file mode 100644
index 0000000..54090b2
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin2.sql
@@ -0,0 +1,5 @@
+select a.l_orderkey, b.c_custkey, b.c_name, b.c_nationkey, d.n_name
+from lineitem a
+left outer join customer b on a.l_orderkey = b.c_custkey
+left outer join orders c on b.c_custkey = c.o_custkey
+left outer join nation d on a.l_orderkey = d.n_nationkey

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin3.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin3.sql b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin3.sql
new file mode 100644
index 0000000..ef6e490
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testLeftOuterJoin3.sql
@@ -0,0 +1,7 @@
+select a.c_custkey, a.c_name, a.c_nationkey, b.l_orderkey, c.o_orderdate, d.o_orderdate, e.n_name, f.p_name
+from customer a
+left outer join lineitem b on a.c_custkey = b.l_orderkey
+left outer join orders c on b.l_orderkey = c.o_orderkey
+left outer join orders d on a.c_custkey = d.o_orderkey
+left outer join nation e on d.o_orderkey = e.n_nationkey
+left outer join part f on f.p_partkey = d.o_orderkey

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength.sql b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength.sql
new file mode 100644
index 0000000..6ae6c09
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength.sql
@@ -0,0 +1,3 @@
+select * from customer a
+ left outer join nation_multifile b on a.c_nationkey = b.n_nationkey
+ where b.n_nationkey is null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength2.sql b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength2.sql
new file mode 100644
index 0000000..e6dfba7
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestOuterJoinQuery/testMultipleBroadcastDataFileWithZeroLength2.sql
@@ -0,0 +1,5 @@
+select b.o_orderkey, b.o_orderdate, b.o_custkey, a.c_custkey, a.c_name, c.n_nationkey, c.n_name
+from customer a
+ left outer join orders b on a.c_custkey = b.o_custkey
+ left outer join nation_multifile c on a.c_nationkey = c.n_nationkey
+ where c.n_nationkey is not null
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestSortQuery/create_table_with_date_ddl.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestSortQuery/create_table_with_date_ddl.sql b/tajo-core/src/test/resources/queries/TestSortQuery/create_table_with_date_ddl.sql
index 846cbb6..322b35c 100644
--- a/tajo-core/src/test/resources/queries/TestSortQuery/create_table_with_date_ddl.sql
+++ b/tajo-core/src/test/resources/queries/TestSortQuery/create_table_with_date_ddl.sql
@@ -1,7 +1,7 @@
 -- Sort Table
 -- It is used in TestSortQuery::testSortWithDate
 
-create external table table1 (
+create external table testSortWithDate (
   col1 timestamp,
 	col2 date,
 	col3 time

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/queries/TestSortQuery/testSortWithDate.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestSortQuery/testSortWithDate.sql b/tajo-core/src/test/resources/queries/TestSortQuery/testSortWithDate.sql
index 490e8d0..da00157 100644
--- a/tajo-core/src/test/resources/queries/TestSortQuery/testSortWithDate.sql
+++ b/tajo-core/src/test/resources/queries/TestSortQuery/testSortWithDate.sql
@@ -1 +1 @@
-select col1, col2, col3 from table1 order by col1, col2, col3;
\ No newline at end of file
+select col1, col2, col3 from testSortWithDate order by col1, col2, col3;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash.plan
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash.plan
new file mode 100644
index 0000000..a308b15
--- /dev/null
+++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash.plan
@@ -0,0 +1,168 @@
+explain
+-------------------------------
+SORT(6)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   JOIN(16)(INNER)
+     => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4)
+     => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(5) default.customer.c_custkey (INT4), default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+      JOIN(15)(INNER)
+        => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4)
+        => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT)
+        => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+        => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+         SCAN(3) on default.customer
+           => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)
+           => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+           => 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(4) on default.nation
+           => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)
+           => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+           => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)}
+      JOIN(14)(INNER)
+        => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4)
+        => target list: default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)
+        => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+        => in schema: {(5) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+         SCAN(2) on default.part
+           => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4)
+           => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+           => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)}
+         JOIN(13)(INNER)
+           => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4)
+           => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
+           => out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+           => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+            SCAN(0) on default.lineitem
+              => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
+              => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+              => 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.orders
+              => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
+              => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+              => 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)}
+explain
+-------------------------------
+-------------------------------------------------------------------------------
+Execution Block Graph (TERMINAL - eb_0000000000000_0000_000009)
+-------------------------------------------------------------------------------
+|-eb_0000000000000_0000_000009
+   |-eb_0000000000000_0000_000008
+      |-eb_0000000000000_0000_000007
+         |-eb_0000000000000_0000_000006
+         |-eb_0000000000000_0000_000003
+-------------------------------------------------------------------------------
+Order of Execution
+-------------------------------------------------------------------------------
+1: eb_0000000000000_0000_000003
+2: eb_0000000000000_0000_000006
+3: eb_0000000000000_0000_000007
+4: eb_0000000000000_0000_000008
+5: eb_0000000000000_0000_000009
+-------------------------------------------------------------------------------
+
+=======================================================
+Block Id: eb_0000000000000_0000_000003 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 3 => 7 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32)
+
+[Enforcers]
+ 0: type=Broadcast, tables=default.orders
+ 1: type=Broadcast, tables=default.lineitem
+ 2: type=Broadcast, tables=default.part
+
+JOIN(14)(INNER)
+  => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4)
+  => target list: default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)
+  => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+  => in schema: {(5) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+   SCAN(2) on default.part
+     => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4)
+     => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+     => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)}
+   JOIN(13)(INNER)
+     => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4)
+     => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+     => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+      SCAN(0) on default.lineitem
+        => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
+        => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+        => 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.orders
+        => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
+        => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+        => 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)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000006 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 6 => 7 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32)
+
+[Enforcers]
+ 0: type=Broadcast, tables=default.nation
+ 1: type=Broadcast, tables=default.customer
+
+JOIN(15)(INNER)
+  => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4)
+  => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT)
+  => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+  => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+   SCAN(3) on default.customer
+     => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)
+     => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+     => 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(4) on default.nation
+     => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)
+     => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (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_000007 [INTERMEDIATE]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 3 => 7 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32)
+[q_0000000000000_0000] 6 => 7 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 7 => 8 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32)
+
+SORT(20)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   JOIN(16)(INNER)
+     => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4)
+     => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(5) default.customer.c_custkey (INT4), default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+      SCAN(19) on eb_0000000000000_0000_000006
+        => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+        => in schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+      SCAN(18) on eb_0000000000000_0000_000003
+        => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+        => in schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000008 [ROOT]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 7 => 8 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32)
+
+[Enforcers]
+ 0: sorted input=eb_0000000000000_0000_000007
+
+SORT(6)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   SCAN(21) on eb_0000000000000_0000_000007
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000009 [TERMINAL]
+=======================================================

http://git-wip-us.apache.org/repos/asf/tajo/blob/4b1b7799/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash_NoBroadcast.plan
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash_NoBroadcast.plan b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash_NoBroadcast.plan
new file mode 100644
index 0000000..635b6d3
--- /dev/null
+++ b/tajo-core/src/test/resources/results/TestInnerJoinQuery/testBroadcastTwoPartJoin.Hash_NoBroadcast.plan
@@ -0,0 +1,249 @@
+explain
+-------------------------------
+SORT(6)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   JOIN(16)(INNER)
+     => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4)
+     => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(5) default.customer.c_custkey (INT4), default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+      JOIN(15)(INNER)
+        => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4)
+        => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT)
+        => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+        => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+         SCAN(3) on default.customer
+           => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)
+           => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+           => 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(4) on default.nation
+           => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)
+           => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+           => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)}
+      JOIN(14)(INNER)
+        => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4)
+        => target list: default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)
+        => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+        => in schema: {(5) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+         SCAN(2) on default.part
+           => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4)
+           => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+           => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)}
+         JOIN(13)(INNER)
+           => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4)
+           => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
+           => out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+           => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+            SCAN(0) on default.lineitem
+              => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
+              => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+              => 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.orders
+              => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
+              => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+              => 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)}
+explain
+-------------------------------
+-------------------------------------------------------------------------------
+Execution Block Graph (TERMINAL - eb_0000000000000_0000_000011)
+-------------------------------------------------------------------------------
+|-eb_0000000000000_0000_000011
+   |-eb_0000000000000_0000_000010
+      |-eb_0000000000000_0000_000009
+         |-eb_0000000000000_0000_000008
+            |-eb_0000000000000_0000_000007
+            |-eb_0000000000000_0000_000006
+         |-eb_0000000000000_0000_000005
+            |-eb_0000000000000_0000_000004
+            |-eb_0000000000000_0000_000003
+               |-eb_0000000000000_0000_000002
+               |-eb_0000000000000_0000_000001
+-------------------------------------------------------------------------------
+Order of Execution
+-------------------------------------------------------------------------------
+1: eb_0000000000000_0000_000001
+2: eb_0000000000000_0000_000002
+3: eb_0000000000000_0000_000003
+4: eb_0000000000000_0000_000004
+5: eb_0000000000000_0000_000006
+6: eb_0000000000000_0000_000007
+7: eb_0000000000000_0000_000005
+8: eb_0000000000000_0000_000008
+9: eb_0000000000000_0000_000009
+10: eb_0000000000000_0000_000010
+11: eb_0000000000000_0000_000011
+-------------------------------------------------------------------------------
+
+=======================================================
+Block Id: eb_0000000000000_0000_000001 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=default.orders.o_orderkey (INT4), num=32)
+
+SCAN(1) on default.orders
+  => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
+  => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+  => 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)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000002 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT4), num=32)
+
+SCAN(0) on default.lineitem
+  => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
+  => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+  => 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)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000003 [INTERMEDIATE]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 1 => 3 (type=HASH_SHUFFLE, key=default.orders.o_orderkey (INT4), num=32)
+[q_0000000000000_0000] 2 => 3 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.lineitem.l_partkey (INT4), num=32)
+
+JOIN(13)(INNER)
+  => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4)
+  => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
+  => out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+  => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+   SCAN(19) on eb_0000000000000_0000_000002
+     => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+     => in schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
+   SCAN(18) on eb_0000000000000_0000_000001
+     => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+     => in schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000004 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.part.p_partkey (INT4), num=32)
+
+SCAN(2) on default.part
+  => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4)
+  => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+  => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000005 [INTERMEDIATE]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.lineitem.l_partkey (INT4), num=32)
+[q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.part.p_partkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 5 => 9 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32)
+
+JOIN(14)(INNER)
+  => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4)
+  => target list: default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)
+  => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+  => in schema: {(5) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+   SCAN(21) on eb_0000000000000_0000_000004
+     => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+     => in schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)}
+   SCAN(20) on eb_0000000000000_0000_000003
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+     => in schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000006 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 6 => 8 (type=HASH_SHUFFLE, key=default.nation.n_nationkey (INT4), num=32)
+
+SCAN(4) on default.nation
+  => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)
+  => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (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_000007 [LEAF]
+=======================================================
+
+[Outgoing]
+[q_0000000000000_0000] 7 => 8 (type=HASH_SHUFFLE, key=default.customer.c_nationkey (INT4), num=32)
+
+SCAN(3) on default.customer
+  => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)
+  => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+  => 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_000008 [INTERMEDIATE]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 6 => 8 (type=HASH_SHUFFLE, key=default.nation.n_nationkey (INT4), num=32)
+[q_0000000000000_0000] 7 => 8 (type=HASH_SHUFFLE, key=default.customer.c_nationkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 8 => 9 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32)
+
+JOIN(15)(INNER)
+  => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4)
+  => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT)
+  => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+  => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+   SCAN(23) on eb_0000000000000_0000_000007
+     => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+     => in schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)}
+   SCAN(22) on eb_0000000000000_0000_000006
+     => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+     => in schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000009 [INTERMEDIATE]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 5 => 9 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32)
+[q_0000000000000_0000] 8 => 9 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32)
+
+[Outgoing]
+[q_0000000000000_0000] 9 => 10 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32)
+
+SORT(26)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   JOIN(16)(INNER)
+     => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4)
+     => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(5) default.customer.c_custkey (INT4), default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+      SCAN(25) on eb_0000000000000_0000_000008
+        => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+        => in schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)}
+      SCAN(24) on eb_0000000000000_0000_000005
+        => out schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+        => in schema: {(3) default.lineitem.l_orderkey (INT4), default.orders.o_custkey (INT4), default.part.p_name (TEXT)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000010 [ROOT]
+=======================================================
+
+[Incoming]
+[q_0000000000000_0000] 9 => 10 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32)
+
+[Enforcers]
+ 0: sorted input=eb_0000000000000_0000_000009
+
+SORT(6)
+  => Sort Keys: default.lineitem.l_orderkey (INT4) (asc),default.part.p_name (TEXT) (asc),default.nation.n_name (TEXT) (asc)
+   SCAN(27) on eb_0000000000000_0000_000009
+     => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+     => in schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)}
+
+=======================================================
+Block Id: eb_0000000000000_0000_000011 [TERMINAL]
+=======================================================