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]
+=======================================================