You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2014/07/09 22:24:31 UTC

svn commit: r1609289 [2/3] - in /hive/trunk: itests/hive-unit/src/test/java/org/apache/hive/jdbc/ itests/qtest/ metastore/if/ metastore/src/gen/thrift/gen-cpp/ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ metastore/src/ge...

Modified: hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/parse/authorization/TestHiveAuthorizationTaskFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/parse/authorization/TestHiveAuthorizationTaskFactory.java?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/parse/authorization/TestHiveAuthorizationTaskFactory.java (original)
+++ hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/parse/authorization/TestHiveAuthorizationTaskFactory.java Wed Jul  9 20:24:30 2014
@@ -69,10 +69,10 @@ public class TestHiveAuthorizationTaskFa
     db = Mockito.mock(Hive.class);
     table = new Table(DB, TABLE);
     partition = new Partition(table);
+    SessionState.start(conf);
     context = new Context(conf);
     parseDriver = new ParseDriver();
     analyzer = new DDLSemanticAnalyzer(conf, db);
-    SessionState.start(conf);
     Mockito.when(db.getTable(DB, TABLE, false)).thenReturn(table);
     Mockito.when(db.getPartition(table, new HashMap<String, String>(), false))
       .thenReturn(partition);

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_authorize_create_tbl.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_authorize_create_tbl.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_authorize_create_tbl.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_authorize_create_tbl.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,10 @@
+set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest;
+set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator;
+
+set hive.security.authorization.enabled=true;
+set user.name=user33;
+create database db23221;
+use db23221;
+
+set user.name=user44;
+create temporary table twew221(a string);

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_column_stats.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_column_stats.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_column_stats.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_column_stats.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,5 @@
+create temporary table tmp1 (c1 string);
+-- table-level stats should work
+analyze table tmp1 compute statistics;
+-- column stats should fail
+analyze table tmp1 compute statistics for columns;

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_create_like_partitions.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_create_like_partitions.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_create_like_partitions.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_create_like_partitions.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,3 @@
+create table tab1 (c1 string) partitioned by (p1 string);
+create table tmp1 like tab1;
+show table create tmp1;

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_index.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_index.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_index.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_index.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,2 @@
+create temporary table tmp1 (c1 string);
+create index tmp1_idx on table tmp1 (c1) as 'COMPACT' with deferred rebuild;

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_partitions.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_partitions.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_partitions.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_partitions.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,2 @@
+-- temp tables with partition columns not currently supported
+create temporary table tmp1 (c1 string) partitioned by (p1 string);

Added: hive/trunk/ql/src/test/queries/clientnegative/temp_table_rename.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/temp_table_rename.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/temp_table_rename.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/temp_table_rename.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,3 @@
+create temporary table tmp1 (c1 string);
+create temporary table tmp2 (d1 string);
+alter table tmp2 rename to tmp1;

Added: hive/trunk/ql/src/test/queries/clientpositive/authorization_create_temp_table.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/authorization_create_temp_table.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/authorization_create_temp_table.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/authorization_create_temp_table.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,16 @@
+set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest;
+set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator;
+
+create table authorization_create_temp_table_1 as select * from src limit 10;
+grant select on authorization_create_temp_table_1 to user user1;
+
+set user.name=user1;
+set hive.security.authorization.enabled=true;
+
+create temporary table tmp1(c1 string, c2 string);
+
+insert overwrite table tmp1 select * from authorization_create_temp_table_1;
+
+select c1, count(*) from tmp1 group by c1 order by c1;
+
+drop table tmp1;

Added: hive/trunk/ql/src/test/queries/clientpositive/show_create_table_temp_table.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/show_create_table_temp_table.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/show_create_table_temp_table.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/show_create_table_temp_table.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,6 @@
+
+create database tmpdb;
+create temporary table tmpdb.tmp1 (c1 string, c2 string);
+show create table tmpdb.tmp1;
+drop table tmp1;
+drop database tmpdb;

Modified: hive/trunk/ql/src/test/queries/clientpositive/stats19.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/stats19.q?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/stats19.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/stats19.q Wed Jul  9 20:24:30 2014
@@ -17,7 +17,7 @@ set hive.stats.key.prefix.max.length=0;
 -- The stats key should be hashed since the max length is too small
 insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src;
 
-set hive.stats.key.prefix.max.length=200;
+set hive.stats.key.prefix.max.length=250;
 
 -- The stats key should not be hashed since the max length is large enough
 insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src;
@@ -41,7 +41,7 @@ insert overwrite table stats_part partit
 
 desc formatted stats_part partition (ds='2010-04-08', hr = '13');
 
-set hive.stats.key.prefix.max.length=200;
+set hive.stats.key.prefix.max.length=250;
 
 -- The stats key should not be hashed since the max length is large enough
 insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src;
@@ -66,7 +66,7 @@ set hive.stats.key.prefix.max.length=0;
 -- The stats key should be hashed since the max length is too small
 insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src;
 
-set hive.stats.key.prefix.max.length=200;
+set hive.stats.key.prefix.max.length=250;
 
 -- The stats key should not be hashed since the max length is large enough
 insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,43 @@
+EXPLAIN CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0;
+CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0;
+
+EXPLAIN CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1;
+CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1;
+
+DESCRIBE foo;
+DESCRIBE bar;
+
+explain select * from foo limit 10;
+select * from foo limit 10;
+
+explain select * from (select * from foo union all select * from bar) u order by key limit 10;
+select * from (select * from foo union all select * from bar) u order by key limit 10;
+
+CREATE TEMPORARY TABLE baz LIKE foo;
+
+INSERT OVERWRITE TABLE baz SELECT * from foo;
+
+CREATE TEMPORARY TABLE bay (key string, value string) STORED AS orc;
+select * from bay;
+
+INSERT OVERWRITE TABLE bay SELECT * FROM src ORDER BY key;
+
+select * from bay limit 10;
+
+SHOW TABLES;
+
+CREATE DATABASE two;
+
+USE two;
+
+SHOW TABLES;
+
+CREATE TEMPORARY TABLE foo AS SELECT * FROM default.foo;
+
+SHOW TABLES;
+
+use default;
+
+DROP DATABASE two CASCADE;
+
+DROP TABLE bay;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_external.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_external.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_external.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_external.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,13 @@
+
+dfs ${system:test.dfs.mkdir} hdfs:///tmp/temp_table_external;
+dfs -copyFromLocal ../../data/files/in1.txt hdfs:///tmp/temp_table_external/;
+dfs -ls hdfs:///tmp/temp_table_external/;
+
+create temporary external table temp_table_external (c1 int, c2 int) location 'hdfs:///tmp/temp_table_external';
+select * from temp_table_external;
+
+-- Even after we drop the table, the data directory should still be there
+drop table temp_table_external;
+dfs -ls hdfs:///tmp/temp_table_external/;
+
+dfs -rmr hdfs:///tmp/temp_table_external;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_gb1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_gb1.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_gb1.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_gb1.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,16 @@
+
+set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
+set hive.map.aggr=false;
+set hive.groupby.skewindata=true;
+
+-- Taken from groupby2.q
+CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE;
+CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src;
+
+FROM src_temp
+INSERT OVERWRITE TABLE dest_g2 SELECT substr(src_temp.key,1,1), count(DISTINCT substr(src_temp.value,5)), concat(substr(src_temp.key,1,1),sum(substr(src_temp.value,5))) GROUP BY substr(src_temp.key,1,1);
+
+SELECT dest_g2.* FROM dest_g2;
+
+DROP TABLE dest_g2;
+DROP TABLE src_temp;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_join1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_join1.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_join1.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_join1.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,30 @@
+
+CREATE TABLE src_nontemp AS SELECT * FROM src limit 10;
+CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src limit 10;
+
+-- Non temp table join
+EXPLAIN
+FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+-- Non temp table join with temp table
+EXPLAIN
+FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+-- temp table join with temp table
+EXPLAIN
+FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value;
+
+DROP TABLE src_nontemp;
+DROP TABLE src_temp;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_names.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_names.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_names.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_names.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,13 @@
+
+-- Test temp tables with upper/lower case names
+create temporary table Default.Temp_Table_Names (C1 string, c2 string);
+
+show tables 'Temp_Table*';
+show tables in default 'temp_table_names';
+show tables in DEFAULT 'TEMP_TABLE_NAMES';
+
+select c1 from default.temp_table_names;
+select C1 from DEFAULT.TEMP_TABLE_NAMES;
+
+drop table Default.TEMP_TABLE_names;
+show tables 'temp_table_names';

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_options1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_options1.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_options1.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_options1.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,112 @@
+-- Delimiter test, taken from delimiter.q
+create temporary table impressions (imp string, msg string)
+row format delimited
+fields terminated by '\t'
+lines terminated by '\n'
+stored as textfile;
+LOAD DATA LOCAL INPATH '../../data/files/in7.txt' INTO TABLE impressions;
+
+select * from impressions;
+
+select imp,msg from impressions;
+
+drop table impressions;
+
+
+-- Try different SerDe formats, taken from date_serde.q
+
+--
+-- RegexSerDe
+--
+create temporary table date_serde_regex (
+  ORIGIN_CITY_NAME string,
+  DEST_CITY_NAME string,
+  FL_DATE date,
+  ARR_DELAY float,
+  FL_NUM int
+)
+row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
+with serdeproperties (
+  "input.regex" = "([^]*)([^]*)([^]*)([^]*)([0-9]*)"
+)
+stored as textfile;
+
+load data local inpath '../../data/files/flights_tiny.txt.1' overwrite into table date_serde_regex;
+
+select * from date_serde_regex;
+select fl_date, count(*) from date_serde_regex group by fl_date;
+
+--
+-- LazyBinary
+--
+create temporary table date_serde_lb (
+  c1 date,
+  c2 int
+);
+alter table date_serde_lb set serde 'org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe';
+
+insert overwrite table date_serde_lb 
+  select fl_date, fl_num from date_serde_regex limit 1;
+
+select * from date_serde_lb;
+select c1, sum(c2) from date_serde_lb group by c1;
+
+--
+-- LazySimple
+--
+create temporary table date_serde_ls (
+  c1 date,
+  c2 int
+);
+alter table date_serde_ls set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe';
+
+insert overwrite table date_serde_ls 
+  select c1, c2 from date_serde_lb limit 1;
+
+select * from date_serde_ls;
+select c1, sum(c2) from date_serde_ls group by c1;
+
+--
+-- Columnar
+--
+create temporary table date_serde_c (
+  c1 date,
+  c2 int
+) stored as rcfile;
+alter table date_serde_c set serde 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe';
+
+insert overwrite table date_serde_c 
+  select c1, c2 from date_serde_ls limit 1;
+
+select * from date_serde_c;
+select c1, sum(c2) from date_serde_c group by c1;
+
+--
+-- LazyBinaryColumnar
+--
+create temporary table date_serde_lbc (
+  c1 date,
+  c2 int
+) stored as rcfile;
+alter table date_serde_lbc set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe';
+
+insert overwrite table date_serde_lbc 
+  select c1, c2 from date_serde_c limit 1;
+
+select * from date_serde_lbc;
+select c1, sum(c2) from date_serde_lbc group by c1;
+
+--
+-- ORC
+--
+create temporary table date_serde_orc (
+  c1 date,
+  c2 int
+) stored as orc;
+alter table date_serde_orc set serde 'org.apache.hadoop.hive.ql.io.orc.OrcSerde';
+
+insert overwrite table date_serde_orc 
+  select c1, c2 from date_serde_lbc limit 1;
+
+select * from date_serde_orc;
+select c1, sum(c2) from date_serde_orc group by c1;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_precedence.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_precedence.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_precedence.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_precedence.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,38 @@
+
+create database ttp;
+
+-- Create non-temp tables
+create table ttp.tab1 (a1 string, a2 string);
+insert overwrite table ttp.tab1 select * from src where key = 5 limit 5;
+describe ttp.tab1;
+select * from ttp.tab1;
+create table ttp.tab2 (b1 string, b2 string);
+insert overwrite table ttp.tab2 select * from src where key = 2 limit 5;
+describe ttp.tab2;
+select * from ttp.tab2;
+
+-- Now create temp table with same name
+create temporary table ttp.tab1 (c1 int, c2 string);
+insert overwrite table ttp.tab1 select * from src where key = 0 limit 5;
+
+-- describe/select should now use temp table
+describe ttp.tab1;
+select * from ttp.tab1;
+
+-- rename the temp table, and now we can see our non-temp table again
+use ttp;
+alter table tab1 rename to tab2;
+use default;
+describe ttp.tab1;
+select * from ttp.tab1;
+
+-- now the non-temp tab2 should be hidden
+describe ttp.tab2;
+select * from ttp.tab2;
+
+-- drop the temp table, and now we should be able to see the non-temp tab2 again
+drop table ttp.tab2;
+describe ttp.tab2;
+select * from ttp.tab2;
+
+drop database ttp cascade;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_subquery1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_subquery1.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_subquery1.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_subquery1.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,29 @@
+
+create temporary table src_temp as select * from src;
+
+-- subquery exists
+select *
+from src_temp b
+where exists
+  (select a.key
+  from src_temp a
+  where b.value = a.value  and a.key = b.key and a.value > 'val_9'
+  )
+;
+
+-- subquery in
+select *
+from src_temp
+where src_temp.key in (select key from src_temp s1 where s1.key > '9')
+;
+
+select b.key, min(b.value)
+from src_temp b
+group by b.key
+having b.key in ( select a.key
+                from src_temp a
+                where a.value > 'val_9' and a.value = min(b.value)
+                )
+;
+
+drop table src_temp;

Added: hive/trunk/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q Wed Jul  9 20:24:30 2014
@@ -0,0 +1,70 @@
+DROP TABLE part;
+
+-- data setup
+CREATE TEMPORARY TABLE part( 
+    p_partkey INT,
+    p_name STRING,
+    p_mfgr STRING,
+    p_brand STRING,
+    p_type STRING,
+    p_size INT,
+    p_container STRING,
+    p_retailprice DOUBLE,
+    p_comment STRING
+);
+
+LOAD DATA LOCAL INPATH '../../data/files/part_tiny.txt' overwrite into table part;
+
+drop table over10k;
+
+create temporary table over10k(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+	   ts timestamp, 
+           dec decimal(4,2),  
+           bin binary)
+       row format delimited
+       fields terminated by '|';
+
+load data local inpath '../../data/files/over10k' into table over10k;
+
+select p_mfgr, p_retailprice, p_size,
+round(sum(p_retailprice) over w1 , 2) = round(sum(lag(p_retailprice,1,0.0)) over w1 + last_value(p_retailprice) over w1 , 2), 
+max(p_retailprice) over w1 - min(p_retailprice) over w1 = last_value(p_retailprice) over w1 - first_value(p_retailprice) over w1
+from part
+window w1 as (distribute by p_mfgr sort by p_retailprice)
+;
+select p_mfgr, p_retailprice, p_size,
+rank() over (distribute by p_mfgr sort by p_retailprice) as r,
+sum(p_retailprice) over (distribute by p_mfgr sort by p_retailprice rows between unbounded preceding and current row) as s2,
+sum(p_retailprice) over (distribute by p_mfgr sort by p_retailprice rows between unbounded preceding and current row) -5 as s1
+from part
+;
+
+select s, si, f, si - lead(f, 3) over (partition by t order by bo,s,si,f desc) from over10k limit 100;
+select s, i, i - lead(i, 3, 0) over (partition by si order by i,s) from over10k limit 100;
+select s, si, d, si - lag(d, 3) over (partition by b order by si,s,d) from over10k limit 100;
+select s, lag(s, 3, 'fred') over (partition by f order by b) from over10k limit 100;
+
+select p_mfgr, avg(p_retailprice) over(partition by p_mfgr, p_type order by p_mfgr) from part;
+
+select p_mfgr, avg(p_retailprice) over(partition by p_mfgr order by p_type,p_mfgr rows between unbounded preceding and current row) from part;
+
+-- multi table insert test
+create table t1 (a1 int, b1 string); 
+create table t2 (a1 int, b1 string);
+from (select sum(i) over (partition by ts order by i), s from over10k) tt insert overwrite table t1 select * insert overwrite table t2 select * ;
+select * from t1 limit 3;
+select * from t2 limit 3;
+
+select p_mfgr, p_retailprice, p_size,
+round(sum(p_retailprice) over w1 , 2) + 50.0 = round(sum(lag(p_retailprice,1,50.0)) over w1 + (last_value(p_retailprice) over w1),2)
+from part
+window w1 as (distribute by p_mfgr sort by p_retailprice)
+limit 11;

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_authorize_create_tbl.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_authorize_create_tbl.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_authorize_create_tbl.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_authorize_create_tbl.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,9 @@
+PREHOOK: query: create database db23221
+PREHOOK: type: CREATEDATABASE
+POSTHOOK: query: create database db23221
+POSTHOOK: type: CREATEDATABASE
+PREHOOK: query: use db23221
+PREHOOK: type: SWITCHDATABASE
+POSTHOOK: query: use db23221
+POSTHOOK: type: SWITCHDATABASE
+FAILED: HiveAccessControlException Permission denied. Principal [name=user44, type=USER] does not have following privileges on Object [type=DATABASE, name=db23221] : [OBJECT OWNERSHIP]

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_column_stats.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_column_stats.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_column_stats.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_column_stats.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,18 @@
+PREHOOK: query: create temporary table tmp1 (c1 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create temporary table tmp1 (c1 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+PREHOOK: query: -- table-level stats should work
+analyze table tmp1 compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp1
+PREHOOK: Output: default@tmp1
+POSTHOOK: query: -- table-level stats should work
+analyze table tmp1 compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp1
+POSTHOOK: Output: default@tmp1
+FAILED: SemanticException tmp1 is a temporary table.  Column statistics are not supported on temporary tables.

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_create_like_partitions.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_create_like_partitions.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_create_like_partitions.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_create_like_partitions.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,15 @@
+PREHOOK: query: create table tab1 (c1 string) partitioned by (p1 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create table tab1 (c1 string) partitioned by (p1 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tab1
+PREHOOK: query: create table tmp1 like tab1
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create table tmp1 like tab1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+FAILED: ParseException line 2:11 mismatched input 'create' expecting EXTENDED near 'table' in show statement

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_index.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_index.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_index.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_index.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,10 @@
+PREHOOK: query: create temporary table tmp1 (c1 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create temporary table tmp1 (c1 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+PREHOOK: query: create index tmp1_idx on table tmp1 (c1) as 'COMPACT' with deferred rebuild
+PREHOOK: type: CREATEINDEX
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hive.ql.metadata.HiveException: tableName=tmp1 is a TEMPORARY TABLE. Index on TEMPORARY TABLE is not supported.

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_partitions.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_partitions.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_partitions.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_partitions.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1 @@
+FAILED: SemanticException Partition columns are not supported on temporary tables

Added: hive/trunk/ql/src/test/results/clientnegative/temp_table_rename.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/temp_table_rename.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/temp_table_rename.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/temp_table_rename.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,19 @@
+PREHOOK: query: create temporary table tmp1 (c1 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create temporary table tmp1 (c1 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+PREHOOK: query: create temporary table tmp2 (d1 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create temporary table tmp2 (d1 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp2
+PREHOOK: query: alter table tmp2 rename to tmp1
+PREHOOK: type: ALTERTABLE_RENAME
+PREHOOK: Input: default@tmp2
+PREHOOK: Output: default@tmp2
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table.

Added: hive/trunk/ql/src/test/results/clientpositive/authorization_create_temp_table.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_create_temp_table.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/authorization_create_temp_table.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/authorization_create_temp_table.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,56 @@
+PREHOOK: query: create table authorization_create_temp_table_1 as select * from src limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table authorization_create_temp_table_1 as select * from src limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@authorization_create_temp_table_1
+PREHOOK: query: grant select on authorization_create_temp_table_1 to user user1
+PREHOOK: type: GRANT_PRIVILEGE
+PREHOOK: Output: default@authorization_create_temp_table_1
+POSTHOOK: query: grant select on authorization_create_temp_table_1 to user user1
+POSTHOOK: type: GRANT_PRIVILEGE
+POSTHOOK: Output: default@authorization_create_temp_table_1
+PREHOOK: query: create temporary table tmp1(c1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: create temporary table tmp1(c1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+PREHOOK: query: insert overwrite table tmp1 select * from authorization_create_temp_table_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@authorization_create_temp_table_1
+PREHOOK: Output: default@tmp1
+POSTHOOK: query: insert overwrite table tmp1 select * from authorization_create_temp_table_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@authorization_create_temp_table_1
+POSTHOOK: Output: default@tmp1
+POSTHOOK: Lineage: tmp1.c1 SIMPLE [(authorization_create_temp_table_1)authorization_create_temp_table_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp1.c2 SIMPLE [(authorization_create_temp_table_1)authorization_create_temp_table_1.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: select c1, count(*) from tmp1 group by c1 order by c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp1
+#### A masked pattern was here ####
+POSTHOOK: query: select c1, count(*) from tmp1 group by c1 order by c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp1
+#### A masked pattern was here ####
+165	1
+238	1
+255	1
+27	1
+278	1
+311	1
+409	1
+484	1
+86	1
+98	1
+PREHOOK: query: drop table tmp1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp1
+PREHOOK: Output: default@tmp1
+POSTHOOK: query: drop table tmp1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tmp1
+POSTHOOK: Output: default@tmp1

Modified: hive/trunk/ql/src/test/results/clientpositive/nullformat.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/nullformat.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/nullformat.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/nullformat.q.out Wed Jul  9 20:24:30 2014
@@ -76,7 +76,7 @@ PREHOOK: Input: default@null_tab1
 POSTHOOK: query: SHOW CREATE TABLE null_tab1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: default@null_tab1
-CREATE  TABLE `null_tab1`(
+CREATE TABLE `null_tab1`(
   `a` string, 
   `b` string)
 ROW FORMAT DELIMITED 

Modified: hive/trunk/ql/src/test/results/clientpositive/nullformatCTAS.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/nullformatCTAS.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/nullformatCTAS.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/nullformatCTAS.q.out Wed Jul  9 20:24:30 2014
@@ -155,7 +155,7 @@ PREHOOK: Input: default@null_tab3
 POSTHOOK: query: SHOW CREATE TABLE null_tab3
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: default@null_tab3
-CREATE  TABLE `null_tab3`(
+CREATE TABLE `null_tab3`(
   `a` string, 
   `b` string)
 ROW FORMAT DELIMITED 

Modified: hive/trunk/ql/src/test/results/clientpositive/show_create_table_alter.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_create_table_alter.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_create_table_alter.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/show_create_table_alter.q.out Wed Jul  9 20:24:30 2014
@@ -51,7 +51,7 @@ PREHOOK: Input: default@tmp_showcrt1
 POSTHOOK: query: SHOW CREATE TABLE tmp_showcrt1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: default@tmp_showcrt1
-CREATE  TABLE `tmp_showcrt1`(
+CREATE TABLE `tmp_showcrt1`(
   `key` smallint, 
   `value` float)
 COMMENT 'temporary table'

Modified: hive/trunk/ql/src/test/results/clientpositive/show_create_table_db_table.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_create_table_db_table.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_create_table_db_table.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/show_create_table_db_table.q.out Wed Jul  9 20:24:30 2014
@@ -29,7 +29,7 @@ PREHOOK: Input: tmp_feng@tmp_showcrt
 POSTHOOK: query: SHOW CREATE TABLE tmp_feng.tmp_showcrt
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: tmp_feng@tmp_showcrt
-CREATE  TABLE `tmp_feng.tmp_showcrt`(
+CREATE TABLE `tmp_feng.tmp_showcrt`(
   `key` string, 
   `value` int)
 ROW FORMAT SERDE 

Modified: hive/trunk/ql/src/test/results/clientpositive/show_create_table_delimited.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_create_table_delimited.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_create_table_delimited.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/show_create_table_delimited.q.out Wed Jul  9 20:24:30 2014
@@ -23,7 +23,7 @@ PREHOOK: Input: default@tmp_showcrt1
 POSTHOOK: query: SHOW CREATE TABLE tmp_showcrt1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: default@tmp_showcrt1
-CREATE  TABLE `tmp_showcrt1`(
+CREATE TABLE `tmp_showcrt1`(
   `key` int, 
   `value` string, 
   `newvalue` bigint)

Modified: hive/trunk/ql/src/test/results/clientpositive/show_create_table_serde.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_create_table_serde.q.out?rev=1609289&r1=1609288&r2=1609289&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_create_table_serde.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/show_create_table_serde.q.out Wed Jul  9 20:24:30 2014
@@ -25,7 +25,7 @@ PREHOOK: Input: default@tmp_showcrt1
 POSTHOOK: query: SHOW CREATE TABLE tmp_showcrt1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: default@tmp_showcrt1
-CREATE  TABLE `tmp_showcrt1`(
+CREATE TABLE `tmp_showcrt1`(
   `key` int, 
   `value` string, 
   `newvalue` bigint)

Added: hive/trunk/ql/src/test/results/clientpositive/show_create_table_temp_table.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_create_table_temp_table.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_create_table_temp_table.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/show_create_table_temp_table.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,42 @@
+PREHOOK: query: create database tmpdb
+PREHOOK: type: CREATEDATABASE
+POSTHOOK: query: create database tmpdb
+POSTHOOK: type: CREATEDATABASE
+PREHOOK: query: create temporary table tmpdb.tmp1 (c1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:tmpdb
+POSTHOOK: query: create temporary table tmpdb.tmp1 (c1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:tmpdb
+POSTHOOK: Output: tmpdb@tmp1
+PREHOOK: query: show create table tmpdb.tmp1
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: tmpdb@tmp1
+POSTHOOK: query: show create table tmpdb.tmp1
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: tmpdb@tmp1
+CREATE TEMPORARY TABLE `tmpdb.tmp1`(
+  `c1` string, 
+  `c2` string)
+ROW FORMAT SERDE 
+  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
+STORED AS INPUTFORMAT 
+  'org.apache.hadoop.mapred.TextInputFormat' 
+OUTPUTFORMAT 
+  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+)
+PREHOOK: query: drop table tmp1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table tmp1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop database tmpdb
+PREHOOK: type: DROPDATABASE
+PREHOOK: Input: database:tmpdb
+PREHOOK: Output: database:tmpdb
+POSTHOOK: query: drop database tmpdb
+POSTHOOK: type: DROPDATABASE
+POSTHOOK: Input: database:tmpdb
+POSTHOOK: Output: database:tmpdb

Added: hive/trunk/ql/src/test/results/clientpositive/temp_table.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/temp_table.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/temp_table.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/temp_table.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,477 @@
+PREHOOK: query: EXPLAIN CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: EXPLAIN CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0
+POSTHOOK: type: CREATETABLE_AS_SELECT
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
+  Stage-4
+  Stage-0 depends on stages: Stage-4, Stage-3, Stage-6
+  Stage-8 depends on stages: Stage-0
+  Stage-2 depends on stages: Stage-8
+  Stage-3
+  Stage-5
+  Stage-6 depends on stages: Stage-5
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src
+            Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: ((key % 2) = 0) (type: boolean)
+              Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                  table:
+                      input format: org.apache.hadoop.mapred.TextInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      name: default.foo
+
+  Stage: Stage-7
+    Conditional Operator
+
+  Stage: Stage-4
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+  Stage: Stage-0
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+  Stage: Stage-8
+      Create Table Operator:
+        Create Table
+          columns: key string, value string
+          input format: org.apache.hadoop.mapred.TextInputFormat
+#### A masked pattern was here ####
+          output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+          name: foo
+          isTemporary: true
+
+  Stage: Stage-2
+    Stats-Aggr Operator
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            File Output Operator
+              compressed: false
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                  name: default.foo
+
+  Stage: Stage-5
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            File Output Operator
+              compressed: false
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                  name: default.foo
+
+  Stage: Stage-6
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@foo
+PREHOOK: query: EXPLAIN CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: EXPLAIN CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1
+POSTHOOK: type: CREATETABLE_AS_SELECT
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
+  Stage-4
+  Stage-0 depends on stages: Stage-4, Stage-3, Stage-6
+  Stage-8 depends on stages: Stage-0
+  Stage-2 depends on stages: Stage-8
+  Stage-3
+  Stage-5
+  Stage-6 depends on stages: Stage-5
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src
+            Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: ((key % 2) = 1) (type: boolean)
+              Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                  table:
+                      input format: org.apache.hadoop.mapred.TextInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      name: default.bar
+
+  Stage: Stage-7
+    Conditional Operator
+
+  Stage: Stage-4
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+  Stage: Stage-0
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+  Stage: Stage-8
+      Create Table Operator:
+        Create Table
+          columns: key string, value string
+          input format: org.apache.hadoop.mapred.TextInputFormat
+#### A masked pattern was here ####
+          output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+          name: bar
+          isTemporary: true
+
+  Stage: Stage-2
+    Stats-Aggr Operator
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            File Output Operator
+              compressed: false
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                  name: default.bar
+
+  Stage: Stage-5
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            File Output Operator
+              compressed: false
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                  name: default.bar
+
+  Stage: Stage-6
+    Move Operator
+      files:
+          hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bar
+PREHOOK: query: DESCRIBE foo
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@foo
+POSTHOOK: query: DESCRIBE foo
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@foo
+key                 	string              	                    
+value               	string              	                    
+PREHOOK: query: DESCRIBE bar
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@bar
+POSTHOOK: query: DESCRIBE bar
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@bar
+key                 	string              	                    
+value               	string              	                    
+PREHOOK: query: explain select * from foo limit 10
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from foo limit 10
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: 10
+      Processor Tree:
+        TableScan
+          alias: foo
+          Statistics: Num rows: 247 Data size: 2609 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: key (type: string), value (type: string)
+            outputColumnNames: _col0, _col1
+            Statistics: Num rows: 247 Data size: 2609 Basic stats: COMPLETE Column stats: NONE
+            Limit
+              Number of rows: 10
+              Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE
+              ListSink
+
+PREHOOK: query: select * from foo limit 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@foo
+#### A masked pattern was here ####
+POSTHOOK: query: select * from foo limit 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@foo
+#### A masked pattern was here ####
+238	val_238
+86	val_86
+278	val_278
+98	val_98
+484	val_484
+150	val_150
+224	val_224
+66	val_66
+128	val_128
+146	val_146
+PREHOOK: query: explain select * from (select * from foo union all select * from bar) u order by key limit 10
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from (select * from foo union all select * from bar) u order by key limit 10
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: bar
+            Statistics: Num rows: 253 Data size: 2703 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: key (type: string), value (type: string)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 253 Data size: 2703 Basic stats: COMPLETE Column stats: NONE
+              Union
+                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: _col1 (type: string)
+          TableScan
+            alias: foo
+            Statistics: Num rows: 247 Data size: 2609 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: key (type: string), value (type: string)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 247 Data size: 2609 Basic stats: COMPLETE Column stats: NONE
+              Union
+                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: _col1 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: string)
+          outputColumnNames: _col0, _col1
+          Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+          Limit
+            Number of rows: 10
+            Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 10
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select * from (select * from foo union all select * from bar) u order by key limit 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bar
+PREHOOK: Input: default@foo
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select * from foo union all select * from bar) u order by key limit 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bar
+POSTHOOK: Input: default@foo
+#### A masked pattern was here ####
+0	val_0
+0	val_0
+0	val_0
+10	val_10
+100	val_100
+100	val_100
+103	val_103
+103	val_103
+104	val_104
+104	val_104
+PREHOOK: query: CREATE TEMPORARY TABLE baz LIKE foo
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: CREATE TEMPORARY TABLE baz LIKE foo
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@baz
+PREHOOK: query: INSERT OVERWRITE TABLE baz SELECT * from foo
+PREHOOK: type: QUERY
+PREHOOK: Input: default@foo
+PREHOOK: Output: default@baz
+POSTHOOK: query: INSERT OVERWRITE TABLE baz SELECT * from foo
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@foo
+POSTHOOK: Output: default@baz
+POSTHOOK: Lineage: baz.key SIMPLE [(foo)foo.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: baz.value SIMPLE [(foo)foo.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: CREATE TEMPORARY TABLE bay (key string, value string) STORED AS orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: CREATE TEMPORARY TABLE bay (key string, value string) STORED AS orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@bay
+PREHOOK: query: select * from bay
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bay
+#### A masked pattern was here ####
+POSTHOOK: query: select * from bay
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bay
+#### A masked pattern was here ####
+PREHOOK: query: INSERT OVERWRITE TABLE bay SELECT * FROM src ORDER BY key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@bay
+POSTHOOK: query: INSERT OVERWRITE TABLE bay SELECT * FROM src ORDER BY key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bay
+POSTHOOK: Lineage: bay.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bay.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from bay limit 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bay
+#### A masked pattern was here ####
+POSTHOOK: query: select * from bay limit 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bay
+#### A masked pattern was here ####
+0	val_0
+0	val_0
+0	val_0
+10	val_10
+100	val_100
+100	val_100
+103	val_103
+103	val_103
+104	val_104
+104	val_104
+PREHOOK: query: SHOW TABLES
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: SHOW TABLES
+POSTHOOK: type: SHOWTABLES
+alltypesorc
+bar
+bay
+baz
+foo
+src
+src1
+src_json
+src_sequencefile
+src_thrift
+srcbucket
+srcbucket2
+srcpart
+PREHOOK: query: CREATE DATABASE two
+PREHOOK: type: CREATEDATABASE
+POSTHOOK: query: CREATE DATABASE two
+POSTHOOK: type: CREATEDATABASE
+PREHOOK: query: USE two
+PREHOOK: type: SWITCHDATABASE
+POSTHOOK: query: USE two
+POSTHOOK: type: SWITCHDATABASE
+PREHOOK: query: SHOW TABLES
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: SHOW TABLES
+POSTHOOK: type: SHOWTABLES
+PREHOOK: query: CREATE TEMPORARY TABLE foo AS SELECT * FROM default.foo
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@foo
+POSTHOOK: query: CREATE TEMPORARY TABLE foo AS SELECT * FROM default.foo
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@foo
+POSTHOOK: Output: two@foo
+PREHOOK: query: SHOW TABLES
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: SHOW TABLES
+POSTHOOK: type: SHOWTABLES
+foo
+PREHOOK: query: use default
+PREHOOK: type: SWITCHDATABASE
+POSTHOOK: query: use default
+POSTHOOK: type: SWITCHDATABASE
+PREHOOK: query: DROP DATABASE two CASCADE
+PREHOOK: type: DROPDATABASE
+PREHOOK: Input: database:two
+PREHOOK: Output: database:two
+PREHOOK: Output: two@foo
+POSTHOOK: query: DROP DATABASE two CASCADE
+POSTHOOK: type: DROPDATABASE
+POSTHOOK: Input: database:two
+POSTHOOK: Output: database:two
+POSTHOOK: Output: two@foo
+PREHOOK: query: DROP TABLE bay
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@bay
+PREHOOK: Output: default@bay
+POSTHOOK: query: DROP TABLE bay
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@bay
+POSTHOOK: Output: default@bay

Added: hive/trunk/ql/src/test/results/clientpositive/temp_table_external.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/temp_table_external.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/temp_table_external.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/temp_table_external.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,33 @@
+Found 1 items
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+#### A masked pattern was here ####
+PREHOOK: Output: database:default
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+#### A masked pattern was here ####
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@temp_table_external
+PREHOOK: query: select * from temp_table_external
+PREHOOK: type: QUERY
+PREHOOK: Input: default@temp_table_external
+#### A masked pattern was here ####
+POSTHOOK: query: select * from temp_table_external
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@temp_table_external
+#### A masked pattern was here ####
+NULL	35
+48	NULL
+100	100
+PREHOOK: query: -- Even after we drop the table, the data directory should still be there
+drop table temp_table_external
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@temp_table_external
+PREHOOK: Output: default@temp_table_external
+POSTHOOK: query: -- Even after we drop the table, the data directory should still be there
+drop table temp_table_external
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@temp_table_external
+POSTHOOK: Output: default@temp_table_external
+Found 1 items
+#### A masked pattern was here ####

Added: hive/trunk/ql/src/test/results/clientpositive/temp_table_gb1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/temp_table_gb1.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/temp_table_gb1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/temp_table_gb1.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,63 @@
+PREHOOK: query: -- Taken from groupby2.q
+CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: -- Taken from groupby2.q
+CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@dest_g2
+PREHOOK: query: CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@src_temp
+PREHOOK: query: FROM src_temp
+INSERT OVERWRITE TABLE dest_g2 SELECT substr(src_temp.key,1,1), count(DISTINCT substr(src_temp.value,5)), concat(substr(src_temp.key,1,1),sum(substr(src_temp.value,5))) GROUP BY substr(src_temp.key,1,1)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_temp
+PREHOOK: Output: default@dest_g2
+POSTHOOK: query: FROM src_temp
+INSERT OVERWRITE TABLE dest_g2 SELECT substr(src_temp.key,1,1), count(DISTINCT substr(src_temp.value,5)), concat(substr(src_temp.key,1,1),sum(substr(src_temp.value,5))) GROUP BY substr(src_temp.key,1,1)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_temp
+POSTHOOK: Output: default@dest_g2
+POSTHOOK: Lineage: dest_g2.c1 EXPRESSION [(src_temp)src_temp.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_g2.c2 EXPRESSION [(src_temp)src_temp.FieldSchema(name:key, type:string, comment:null), (src_temp)src_temp.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_g2.key EXPRESSION [(src_temp)src_temp.FieldSchema(name:key, type:string, comment:null), ]
+PREHOOK: query: SELECT dest_g2.* FROM dest_g2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_g2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT dest_g2.* FROM dest_g2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_g2
+#### A masked pattern was here ####
+0	1	00.0
+1	71	116414.0
+2	69	225571.0
+3	62	332004.0
+4	74	452763.0
+5	6	5397.0
+6	5	6398.0
+7	6	7735.0
+8	8	8762.0
+9	7	91047.0
+PREHOOK: query: DROP TABLE dest_g2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@dest_g2
+PREHOOK: Output: default@dest_g2
+POSTHOOK: query: DROP TABLE dest_g2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@dest_g2
+POSTHOOK: Output: default@dest_g2
+PREHOOK: query: DROP TABLE src_temp
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_temp
+PREHOOK: Output: default@src_temp
+POSTHOOK: query: DROP TABLE src_temp
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_temp
+POSTHOOK: Output: default@src_temp

Added: hive/trunk/ql/src/test/results/clientpositive/temp_table_join1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/temp_table_join1.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/temp_table_join1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/temp_table_join1.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,296 @@
+PREHOOK: query: CREATE TABLE src_nontemp AS SELECT * FROM src limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TABLE src_nontemp AS SELECT * FROM src limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@src_nontemp
+PREHOOK: query: CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@src_temp
+PREHOOK: query: -- Non temp table join
+EXPLAIN
+FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+POSTHOOK: query: -- Non temp table join
+EXPLAIN
+FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src2
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
+          TableScan
+            alias: src1
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          condition expressions:
+            0 {KEY.reducesinkkey0}
+            1 {VALUE._col0}
+          outputColumnNames: _col0, _col5
+          Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: _col0 (type: string), _col5 (type: string)
+            outputColumnNames: _col0, _col1
+            Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_nontemp
+#### A masked pattern was here ####
+POSTHOOK: query: FROM src_nontemp src1 JOIN src_nontemp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_nontemp
+#### A masked pattern was here ####
+165	val_165
+238	val_238
+255	val_255
+27	val_27
+278	val_278
+311	val_311
+409	val_409
+484	val_484
+86	val_86
+98	val_98
+PREHOOK: query: -- Non temp table join with temp table
+EXPLAIN
+FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+POSTHOOK: query: -- Non temp table join with temp table
+EXPLAIN
+FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src2
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
+          TableScan
+            alias: src1
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          condition expressions:
+            0 {KEY.reducesinkkey0}
+            1 {VALUE._col0}
+          outputColumnNames: _col0, _col5
+          Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: _col0 (type: string), _col5 (type: string)
+            outputColumnNames: _col0, _col1
+            Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_nontemp
+PREHOOK: Input: default@src_temp
+#### A masked pattern was here ####
+POSTHOOK: query: FROM src_nontemp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_nontemp
+POSTHOOK: Input: default@src_temp
+#### A masked pattern was here ####
+165	val_165
+238	val_238
+255	val_255
+27	val_27
+278	val_278
+311	val_311
+409	val_409
+484	val_484
+86	val_86
+98	val_98
+PREHOOK: query: -- temp table join with temp table
+EXPLAIN
+FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+POSTHOOK: query: -- temp table join with temp table
+EXPLAIN
+FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src2
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
+          TableScan
+            alias: src1
+            Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: key (type: string)
+                sort order: +
+                Map-reduce partition columns: key (type: string)
+                Statistics: Num rows: 5 Data size: 52 Basic stats: COMPLETE Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          condition expressions:
+            0 {KEY.reducesinkkey0}
+            1 {VALUE._col0}
+          outputColumnNames: _col0, _col5
+          Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: _col0 (type: string), _col5 (type: string)
+            outputColumnNames: _col0, _col1
+            Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_temp
+#### A masked pattern was here ####
+POSTHOOK: query: FROM src_temp src1 JOIN src_temp src2 ON (src1.key = src2.key)
+SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_temp
+#### A masked pattern was here ####
+165	val_165
+238	val_238
+255	val_255
+27	val_27
+278	val_278
+311	val_311
+409	val_409
+484	val_484
+86	val_86
+98	val_98
+PREHOOK: query: DROP TABLE src_nontemp
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_nontemp
+PREHOOK: Output: default@src_nontemp
+POSTHOOK: query: DROP TABLE src_nontemp
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_nontemp
+POSTHOOK: Output: default@src_nontemp
+PREHOOK: query: DROP TABLE src_temp
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_temp
+PREHOOK: Output: default@src_temp
+POSTHOOK: query: DROP TABLE src_temp
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_temp
+POSTHOOK: Output: default@src_temp

Added: hive/trunk/ql/src/test/results/clientpositive/temp_table_names.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/temp_table_names.q.out?rev=1609289&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/temp_table_names.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/temp_table_names.q.out Wed Jul  9 20:24:30 2014
@@ -0,0 +1,49 @@
+PREHOOK: query: -- Test temp tables with upper/lower case names
+create temporary table Default.Temp_Table_Names (C1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: -- Test temp tables with upper/lower case names
+create temporary table Default.Temp_Table_Names (C1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: Default@Temp_Table_Names
+POSTHOOK: Output: database:default
+PREHOOK: query: show tables 'Temp_Table*'
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: show tables 'Temp_Table*'
+POSTHOOK: type: SHOWTABLES
+temp_table_names
+PREHOOK: query: show tables in default 'temp_table_names'
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: show tables in default 'temp_table_names'
+POSTHOOK: type: SHOWTABLES
+temp_table_names
+PREHOOK: query: show tables in DEFAULT 'TEMP_TABLE_NAMES'
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: show tables in DEFAULT 'TEMP_TABLE_NAMES'
+POSTHOOK: type: SHOWTABLES
+temp_table_names
+PREHOOK: query: select c1 from default.temp_table_names
+PREHOOK: type: QUERY
+PREHOOK: Input: default@temp_table_names
+#### A masked pattern was here ####
+POSTHOOK: query: select c1 from default.temp_table_names
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@temp_table_names
+#### A masked pattern was here ####
+PREHOOK: query: select C1 from DEFAULT.TEMP_TABLE_NAMES
+PREHOOK: type: QUERY
+PREHOOK: Input: default@temp_table_names
+#### A masked pattern was here ####
+POSTHOOK: query: select C1 from DEFAULT.TEMP_TABLE_NAMES
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@temp_table_names
+#### A masked pattern was here ####
+PREHOOK: query: drop table Default.TEMP_TABLE_names
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table Default.TEMP_TABLE_names
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Output: default@temp_table_names
+PREHOOK: query: show tables 'temp_table_names'
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: show tables 'temp_table_names'
+POSTHOOK: type: SHOWTABLES