blob: 33c31eb25d0f6e74ce913e63e12b24ae24962f53 [file] [log] [blame]
--! qt:dataset:srcpart
--! qt:dataset:src1
--! qt:dataset:src
set hive.mapred.mode=nonstrict;
-- This test is used for testing EXPLAIN DEPENDENCY command
-- Create some views
CREATE VIEW V1_n6 AS SELECT key, value from src;
CREATE VIEW V2_n1 AS SELECT ds, key, value FROM srcpart WHERE ds IS NOT NULL;
CREATE VIEW V3 AS
SELECT src1.key, src2.value FROM V2_n1 src1
JOIN src src2 ON src1.key = src2.key WHERE src1.ds IS NOT NULL;
CREATE VIEW V4 AS
SELECT src1.key, src2.value as value1, src3.value as value2
FROM V1_n6 src1 JOIN V2_n1 src2 on src1.key = src2.key JOIN src src3 ON src2.key = src3.key;
-- Simple select queries, union queries and join queries
EXPLAIN DEPENDENCY
SELECT key, count(1) FROM srcpart WHERE ds IS NOT NULL GROUP BY key;
EXPLAIN DEPENDENCY
SELECT key, count(1) FROM (SELECT key, value FROM src) subq1 GROUP BY key;
EXPLAIN DEPENDENCY
SELECT * FROM (
SELECT key, value FROM src UNION ALL SELECT key, value FROM srcpart WHERE ds IS NOT NULL
) S1;
EXPLAIN DEPENDENCY
SELECT S1.key, S2.value FROM src S1 JOIN srcpart S2 ON S1.key = S2.key WHERE ds IS NOT NULL;
-- With views
EXPLAIN DEPENDENCY SELECT * FROM V1_n6;
EXPLAIN DEPENDENCY SELECT * FROM V2_n1;
EXPLAIN DEPENDENCY SELECT * FROM V3;
EXPLAIN DEPENDENCY SELECT * FROM V4;
-- The table should show up in the explain dependency even if none
-- of the partitions are selected.
CREATE VIEW V5 as SELECT * FROM srcpart where ds = '10';
EXPLAIN DEPENDENCY SELECT * FROM V5;