Modified: 
hive/branches/spark/contrib/src/test/results/clientnegative/case_with_row_sequence.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientnegative/case_with_row_sequence.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientnegative/case_with_row_sequence.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientnegative/case_with_row_sequence.q.out
 Sat Jul 26 23:45:46 2014
@@ -5,11 +5,11 @@ POSTHOOK: type: DROPFUNCTION
 PREHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: row_sequence
 POSTHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: row_sequence
 PREHOOK: query: -- make sure a stateful function inside of CASE throws an 
exception
 -- since the short-circuiting requirements are contradictory
 SELECT CASE WHEN 3 > 2 THEN 10 WHEN row_sequence() > 5 THEN 20 ELSE 30 END

Modified: 
hive/branches/spark/contrib/src/test/results/clientnegative/invalid_row_sequence.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientnegative/invalid_row_sequence.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientnegative/invalid_row_sequence.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientnegative/invalid_row_sequence.q.out
 Sat Jul 26 23:45:46 2014
@@ -2,18 +2,18 @@ PREHOOK: query: -- Verify that a statefu
 
 drop temporary function row_sequence
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: row_sequence
 POSTHOOK: query: -- Verify that a stateful UDF cannot be used outside of the 
SELECT list
 
 drop temporary function row_sequence
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: row_sequence
 PREHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: row_sequence
 POSTHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: row_sequence
 FAILED: SemanticException [Error 10084]: Stateful UDF's can only be invoked in 
the SELECT list

Modified: 
hive/branches/spark/contrib/src/test/results/clientnegative/udtf_explode2.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientnegative/udtf_explode2.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientnegative/udtf_explode2.q.out 
(original)
+++ 
hive/branches/spark/contrib/src/test/results/clientnegative/udtf_explode2.q.out 
Sat Jul 26 23:45:46 2014
@@ -1,7 +1,7 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: explode2
 POSTHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: explode2
 FAILED: SemanticException [Error 10083]: The number of aliases supplied in the 
AS clause does not match the number of columns output by the UDTF expected 2 
aliases but got 1

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/dboutput.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/dboutput.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/contrib/src/test/results/clientpositive/dboutput.q.out 
(original)
+++ hive/branches/spark/contrib/src/test/results/clientpositive/dboutput.q.out 
Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION dboutput AS 
'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: dboutput
 POSTHOOK: query: CREATE TEMPORARY FUNCTION dboutput AS 
'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: dboutput
 PREHOOK: query: DESCRIBE FUNCTION dboutput
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION dboutput
@@ -186,7 +186,7 @@ POSTHOOK: Input: default@src
 #### A masked pattern was here ####
 PREHOOK: query: DROP TEMPORARY FUNCTION dboutput
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: dboutput
 POSTHOOK: query: DROP TEMPORARY FUNCTION dboutput
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: dboutput

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/lateral_view_explode2.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/lateral_view_explode2.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/lateral_view_explode2.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/lateral_view_explode2.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: explode2
 POSTHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: explode2
 PREHOOK: query: SELECT col1, col2 FROM src LATERAL VIEW explode2(array(1,2,3)) 
myTable AS col1, col2 LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -17,7 +17,7 @@ POSTHOOK: Input: default@src
 3      3
 PREHOOK: query: DROP TEMPORARY FUNCTION explode2
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: explode2
 POSTHOOK: query: DROP TEMPORARY FUNCTION explode2
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: explode2

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_avg.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_avg.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_avg.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_avg.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_avg AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleAvg'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_avg
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_avg AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleAvg'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_avg
 PREHOOK: query: EXPLAIN
 SELECT example_avg(substr(value,5)),
        example_avg(IF(substr(value,5) > 250, NULL, substr(value,5)))
@@ -77,7 +77,7 @@ POSTHOOK: Input: default@src
 260.182        134.82926829268294
 PREHOOK: query: DROP TEMPORARY FUNCTION example_avg
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_avg
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_avg
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_avg

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_group_concat.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_group_concat.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_group_concat.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_group_concat.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_group_concat AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleGroupConcat'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_group_concat
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_group_concat AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleGroupConcat'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_group_concat
 PREHOOK: query: EXPLAIN
 SELECT substr(value,5,1), example_group_concat("(", key, ":", value, ")")
 FROM src
@@ -90,7 +90,7 @@ POSTHOOK: Input: default@src
 9      
(90:val_90)(90:val_90)(90:val_90)(92:val_92)(95:val_95)(95:val_95)(96:val_96)(97:val_97)(97:val_97)(98:val_98)(98:val_98)(9:val_9)
 PREHOOK: query: DROP TEMPORARY FUNCTION example_group_concat
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_group_concat
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_group_concat
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_group_concat

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_max AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMax'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_max
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_max AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMax'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_max
 PREHOOK: query: DESCRIBE FUNCTION EXTENDED example_max
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED example_max
@@ -82,7 +82,7 @@ POSTHOOK: Input: default@src
 98     98
 PREHOOK: query: DROP TEMPORARY FUNCTION example_max
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_max
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_max
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_max

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max_n.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max_n.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max_n.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_max_n.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_max_n AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMaxN'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_max_n
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_max_n AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMaxN'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_max_n
 PREHOOK: query: EXPLAIN
 SELECT example_max_n(substr(value,5),10),
        example_max_n(IF(substr(value,5) > 250, NULL, substr(value,5)),10)
@@ -77,7 +77,7 @@ POSTHOOK: Input: default@src
 [498.0,498.0,498.0,497.0,496.0,495.0,494.0,493.0,492.0,492.0]  
[249.0,248.0,247.0,244.0,242.0,242.0,241.0,239.0,239.0,238.0]
 PREHOOK: query: DROP TEMPORARY FUNCTION example_max_n
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_max_n
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_max_n
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_max_n

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_min AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMin'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_min
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_min AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMin'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_min
 PREHOOK: query: DESCRIBE FUNCTION EXTENDED example_min
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED example_min
@@ -82,7 +82,7 @@ POSTHOOK: Input: default@src
 0      0
 PREHOOK: query: DROP TEMPORARY FUNCTION example_min
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_min
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_min
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_min

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min_n.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min_n.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min_n.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udaf_example_min_n.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_min_n AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMinN'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_min_n
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_min_n AS 
'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMinN'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_min_n
 PREHOOK: query: EXPLAIN
 SELECT example_min_n(substr(value,5),10),
        example_min_n(IF(substr(value,5) < 250, NULL, substr(value,5)),10)
@@ -77,7 +77,7 @@ POSTHOOK: Input: default@src
 [0.0,0.0,0.0,2.0,4.0,5.0,5.0,5.0,8.0,9.0]      
[252.0,255.0,255.0,256.0,256.0,257.0,258.0,260.0,262.0,263.0]
 PREHOOK: query: DROP TEMPORARY FUNCTION example_min_n
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_min_n
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_min_n
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_min_n

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_add.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_add.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_add.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_add.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_add AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleAdd'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_add
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_add AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleAdd'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_add
 PREHOOK: query: EXPLAIN
 SELECT example_add(1, 2),
        example_add(1, 2, 3),
@@ -36,7 +36,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL 
Column stats: COMPLETE
             Select Operator
-              expressions: example_add(1, 2) (type: int), example_add(1, 2, 3) 
(type: int), example_add(1, 2, 3, 4) (type: int), example_add(1.1, 2.2) (type: 
double), example_add(1.1, 2.2, 3.3) (type: double), example_add(1.1, 2.2, 3.3, 
4.4) (type: double), example_add(1, 2, 3, 4.4) (type: double)
+              expressions: 3 (type: int), 6 (type: int), 10 (type: int), 
3.3000000000000003 (type: double), 6.6 (type: double), 11.0 (type: double), 
10.4 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6
               Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL 
Column stats: COMPLETE
               Limit
@@ -81,7 +81,7 @@ POSTHOOK: Input: default@src
 3      6       10      3.3000000000000003      6.6     11.0    10.4
 PREHOOK: query: DROP TEMPORARY FUNCTION example_add
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_add
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_add
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_add

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_arraymapstruct.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_arraymapstruct.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_arraymapstruct.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_arraymapstruct.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,21 +1,21 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_arraysum    AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleArraySum'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_arraysum
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_arraysum    AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleArraySum'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_arraysum
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_mapconcat   AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleMapConcat'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_mapconcat
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_mapconcat   AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleMapConcat'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_mapconcat
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_structprint AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleStructPrint'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_structprint
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_structprint AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleStructPrint'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_structprint
 PREHOOK: query: EXPLAIN
 SELECT example_arraysum(lint), example_mapconcat(mstringstring), 
example_structprint(lintstring[0])
 FROM src_thrift
@@ -76,19 +76,19 @@ POSTHOOK: Input: default@src_thrift
 NULL   NULL    NULL
 PREHOOK: query: DROP TEMPORARY FUNCTION example_arraysum
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_arraysum
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_arraysum
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_arraysum
 PREHOOK: query: DROP TEMPORARY FUNCTION example_mapconcat
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_mapconcat
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_mapconcat
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_mapconcat
 PREHOOK: query: DROP TEMPORARY FUNCTION example_structprint
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_structprint
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_structprint
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_structprint

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_format.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_format.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_format.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_example_format.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION example_format AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleFormat'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_format
 POSTHOOK: query: CREATE TEMPORARY FUNCTION example_format AS 
'org.apache.hadoop.hive.contrib.udf.example.UDFExampleFormat'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_format
 PREHOOK: query: EXPLAIN
 SELECT example_format("abc"),
        example_format("%1$s", 1.1),
@@ -30,7 +30,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL 
Column stats: COMPLETE
             Select Operator
-              expressions: example_format('abc') (type: string), 
example_format('%1$s', 1.1) (type: string), example_format('%1$s %2$e', 1.1, 
1.2) (type: string), example_format('%1$x %2$o %3$d', 10, 10, 10) (type: string)
+              expressions: 'abc' (type: string), '1.1' (type: string), '1.1 
1.200000e+00' (type: string), 'a 12 10' (type: string)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL 
Column stats: COMPLETE
               Limit
@@ -69,7 +69,7 @@ POSTHOOK: Input: default@src
 abc    1.1     1.1 1.200000e+00        a 12 10
 PREHOOK: query: DROP TEMPORARY FUNCTION example_format
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: example_format
 POSTHOOK: query: DROP TEMPORARY FUNCTION example_format
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: example_format

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udf_row_sequence.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
 Sat Jul 26 23:45:46 2014
@@ -13,11 +13,11 @@ POSTHOOK: type: DROPFUNCTION
 PREHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: row_sequence
 POSTHOOK: query: create temporary function row_sequence as 
 'org.apache.hadoop.hive.contrib.udf.UDFRowSequence'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: row_sequence
 PREHOOK: query: DESCRIBE FUNCTION EXTENDED row_sequence
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED row_sequence
@@ -643,7 +643,7 @@ POSTHOOK: Input: default@src
 119    false
 PREHOOK: query: drop temporary function row_sequence
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: row_sequence
 POSTHOOK: query: drop temporary function row_sequence
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: row_sequence

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_explode2.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udtf_explode2.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_explode2.q.out 
(original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_explode2.q.out 
Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: explode2
 POSTHOOK: query: CREATE TEMPORARY FUNCTION explode2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: explode2
 PREHOOK: query: SELECT explode2(array(1,2,3)) AS (col1, col2) FROM src LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -17,7 +17,7 @@ POSTHOOK: Input: default@src
 3      3
 PREHOOK: query: DROP TEMPORARY FUNCTION explode2
 PREHOOK: type: DROPFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: explode2
 POSTHOOK: query: DROP TEMPORARY FUNCTION explode2
 POSTHOOK: type: DROPFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: explode2

Modified: 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_output_on_close.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/contrib/src/test/results/clientpositive/udtf_output_on_close.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_output_on_close.q.out
 (original)
+++ 
hive/branches/spark/contrib/src/test/results/clientpositive/udtf_output_on_close.q.out
 Sat Jul 26 23:45:46 2014
@@ -1,9 +1,9 @@
 PREHOOK: query: CREATE TEMPORARY FUNCTION udtfCount2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFCount2'
 PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: udtfcount2
 POSTHOOK: query: CREATE TEMPORARY FUNCTION udtfCount2 AS 
'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFCount2'
 POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: udtfcount2
 PREHOOK: query: SELECT udtfCount2(key) AS count FROM src
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

Modified: hive/branches/spark/data/conf/hive-site.xml
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/data/conf/hive-site.xml?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/data/conf/hive-site.xml (original)
+++ hive/branches/spark/data/conf/hive-site.xml Sat Jul 26 23:45:46 2014
@@ -221,4 +221,23 @@
   <value>false</value>
 </property>
 
+
+<property>
+  <name>hive.dummyparam.test.server.specific.config.override</name>
+  <value>from.hive-site.xml</value>
+  <description>Using dummy param to test server specific 
configuration</description>
+</property>
+
+<property>
+  <name>hive.dummyparam.test.server.specific.config.hivesite</name>
+  <value>from.hive-site.xml</value>
+  <description>Using dummy param to test server specific 
configuration</description>
+</property>
+
+
+<property>
+  <name>hive.fetch.task.conversion</name>
+  <value>minimal</value>
+</property>
+
 </configuration>

Modified: 
hive/branches/spark/hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java
 (original)
+++ 
hive/branches/spark/hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java
 Sat Jul 26 23:45:46 2014
@@ -285,8 +285,11 @@ public class ColumnMappings implements I
     return columnsMapping;
   }
 
+  /**
+   * Represents a mapping from a single Hive column to an HBase column 
qualifier, column family or row key.
+   */
   // todo use final fields
-  static class ColumnMapping {
+  public static class ColumnMapping {
 
     ColumnMapping() {
       binaryStorage = new ArrayList<Boolean>(2);
@@ -305,6 +308,50 @@ public class ColumnMappings implements I
     String qualifierPrefix;
     byte[] qualifierPrefixBytes;
 
+    public String getColumnName() {
+      return columnName;
+    }
+
+    public TypeInfo getColumnType() {
+      return columnType;
+    }
+
+    public String getFamilyName() {
+      return familyName;
+    }
+
+    public String getQualifierName() {
+      return qualifierName;
+    }
+
+    public byte[] getFamilyNameBytes() {
+      return familyNameBytes;
+    }
+
+    public byte[] getQualifierNameBytes() {
+      return qualifierNameBytes;
+    }
+
+    public List<Boolean> getBinaryStorage() {
+      return binaryStorage;
+    }
+
+    public boolean isHbaseRowKey() {
+      return hbaseRowKey;
+    }
+
+    public String getMappingSpec() {
+      return mappingSpec;
+    }
+
+    public String getQualifierPrefix() {
+      return qualifierPrefix;
+    }
+
+    public byte[] getQualifierPrefixBytes() {
+      return qualifierPrefixBytes;
+    }
+
     public boolean isCategory(ObjectInspector.Category category) {
       return columnType.getCategory() == category;
     }

Modified: 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
 (original)
+++ 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
 Sat Jul 26 23:45:46 2014
@@ -193,10 +193,10 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: hbase_pushdown
-            filterExpr: (key >= UDFToString((40 + 50))) (type: boolean)
+            filterExpr: (key >= '90') (type: boolean)
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
             Filter Operator
-              predicate: (key >= UDFToString((40 + 50))) (type: boolean)
+              predicate: (key >= '90') (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)

Modified: 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/hbase-handler/src/test/results/positive/hbase_pushdown.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
 (original)
+++ 
hive/branches/spark/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
 Sat Jul 26 23:45:46 2014
@@ -43,7 +43,7 @@ STAGE PLANS:
               predicate: (key = 90) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: 90 (type: int), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
                 File Output Operator
@@ -235,7 +235,7 @@ STAGE PLANS:
               predicate: (((key = 80) and (key = 90)) and (value like '%90%')) 
(type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: 90 (type: int), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
                 File Output Operator
@@ -398,7 +398,7 @@ STAGE PLANS:
               predicate: (key = 90) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: 90 (type: int), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
                 File Output Operator

Modified: 
hive/branches/spark/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
 (original)
+++ 
hive/branches/spark/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
 Sat Jul 26 23:45:46 2014
@@ -191,7 +191,7 @@ STAGE PLANS:
               predicate: (((key >= 9) and (key < 17)) and (key = 11)) (type: 
boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: 11 (type: int), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
                 File Output Operator

Modified: 
hive/branches/spark/hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java
 (original)
+++ 
hive/branches/spark/hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java
 Sat Jul 26 23:45:46 2014
@@ -30,8 +30,6 @@ import org.apache.hadoop.hive.conf.HiveC
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.exec.DDLTask;
 import org.apache.hadoop.hive.ql.exec.Task;
-import org.apache.hadoop.hive.ql.io.RCFileInputFormat;
-import org.apache.hadoop.hive.ql.io.RCFileOutputFormat;
 import org.apache.hadoop.hive.ql.metadata.Hive;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.metadata.HiveStorageHandler;
@@ -41,6 +39,7 @@ import org.apache.hadoop.hive.ql.parse.B
 import org.apache.hadoop.hive.ql.parse.HiveParser;
 import org.apache.hadoop.hive.ql.parse.HiveSemanticAnalyzerHookContext;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.parse.StorageFormat;
 import org.apache.hadoop.hive.ql.plan.CreateTableDesc;
 import org.apache.hadoop.hive.ql.security.authorization.Privilege;
 import org.apache.hive.hcatalog.common.HCatConstants;
@@ -66,14 +65,20 @@ final class CreateTableHook extends HCat
     // Analyze and create tbl properties object
     int numCh = ast.getChildCount();
 
-    String inputFormat = null, outputFormat = null;
     tableName = BaseSemanticAnalyzer.getUnescapedName((ASTNode) ast
       .getChild(0));
     boolean likeTable = false;
+    StorageFormat format = new StorageFormat(context.getConf());
 
     for (int num = 1; num < numCh; num++) {
       ASTNode child = (ASTNode) ast.getChild(num);
-
+      if (format.fillStorageFormat(child)) {
+        if (org.apache.commons.lang.StringUtils
+            .isNotEmpty(format.getStorageHandler())) {
+            return ast;
+        }
+        continue;
+      }
       switch (child.getToken().getType()) {
 
       case HiveParser.TOK_QUERY: // CTAS
@@ -84,17 +89,6 @@ final class CreateTableHook extends HCat
       case HiveParser.TOK_TABLEBUCKETS:
         break;
 
-      case HiveParser.TOK_TBLSEQUENCEFILE:
-        inputFormat = HCatConstants.SEQUENCEFILE_INPUT;
-        outputFormat = HCatConstants.SEQUENCEFILE_OUTPUT;
-        break;
-
-      case HiveParser.TOK_TBLTEXTFILE:
-        inputFormat = org.apache.hadoop.mapred.TextInputFormat.class.getName();
-        outputFormat = 
org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat.class.getName();
-
-        break;
-
       case HiveParser.TOK_LIKETABLE:
         likeTable = true;
         break;
@@ -125,43 +119,14 @@ final class CreateTableHook extends HCat
           }
         }
         break;
-
-      case HiveParser.TOK_STORAGEHANDLER:
-        String storageHandler = BaseSemanticAnalyzer
-          .unescapeSQLString(child.getChild(0).getText());
-        if (org.apache.commons.lang.StringUtils
-          .isNotEmpty(storageHandler)) {
-          return ast;
-        }
-
-        break;
-
-      case HiveParser.TOK_TABLEFILEFORMAT:
-        if (child.getChildCount() < 2) {
-          throw new SemanticException(
-            "Incomplete specification of File Format. " +
-              "You must provide InputFormat, OutputFormat.");
-        }
-        inputFormat = BaseSemanticAnalyzer.unescapeSQLString(child
-          .getChild(0).getText());
-        outputFormat = BaseSemanticAnalyzer.unescapeSQLString(child
-          .getChild(1).getText());
-        break;
-
-      case HiveParser.TOK_TBLRCFILE:
-        inputFormat = RCFileInputFormat.class.getName();
-        outputFormat = RCFileOutputFormat.class.getName();
-        break;
-
       }
     }
 
-    if (!likeTable && (inputFormat == null || outputFormat == null)) {
+    if (!likeTable && (format.getInputFormat() == null || 
format.getOutputFormat() == null)) {
       throw new SemanticException(
         "STORED AS specification is either incomplete or incorrect.");
     }
 
-
     return ast;
   }
 

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java
 Sat Jul 26 23:45:46 2014
@@ -18,8 +18,8 @@
 
 package org.apache.hadoop.hive.jdbc;
 
+import static org.apache.hadoop.hive.conf.SystemVariables.SET_COLUMN_NAME;
 import static org.apache.hadoop.hive.ql.exec.ExplainTask.EXPL_COLUMN_NAME;
-import static 
org.apache.hadoop.hive.ql.processors.SetProcessor.SET_COLUMN_NAME;
 
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
@@ -1158,7 +1158,7 @@ public class TestJdbcDriver extends Test
     assertEquals("", res.getString(4));     // column
     assertEquals("hive_test_user", res.getString(5));
     assertEquals("USER", res.getString(6));
-    assertEquals("Select", res.getString(7));
+    assertEquals("SELECT", res.getString(7));
     assertEquals(false, res.getBoolean(8)); // grant option
     assertEquals(-1, res.getLong(9));
     assertNotNull(res.getString(10));       // grantor

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestAuthorizationApiAuthorizer.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestAuthorizationApiAuthorizer.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestAuthorizationApiAuthorizer.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestAuthorizationApiAuthorizer.java
 Sat Jul 26 23:45:46 2014
@@ -123,7 +123,7 @@ public abstract class TestAuthorizationA
     FunctionInvoker invoker = new FunctionInvoker() {
       @Override
       public void invoke() throws Exception {
-        msc.revoke_privileges(new PrivilegeBag(new 
ArrayList<HiveObjectPrivilege>()));
+        msc.revoke_privileges(new PrivilegeBag(new 
ArrayList<HiveObjectPrivilege>()), false);
       }
     };
     testFunction(invoker);
@@ -145,7 +145,7 @@ public abstract class TestAuthorizationA
     FunctionInvoker invoker = new FunctionInvoker() {
       @Override
       public void invoke() throws Exception {
-        msc.revoke_role(null, null, null);
+        msc.revoke_role(null, null, null, false);
       }
     };
     testFunction(invoker);

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/FolderPermissionBase.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/FolderPermissionBase.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/FolderPermissionBase.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/FolderPermissionBase.java
 Sat Jul 26 23:45:46 2014
@@ -37,7 +37,6 @@ import org.apache.hadoop.hive.ql.process
 import org.apache.hadoop.hive.ql.session.SessionState;
 import org.apache.hadoop.hive.shims.HadoopShims.MiniDFSShim;
 import org.apache.hadoop.hive.shims.ShimLoader;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
@@ -97,7 +96,6 @@ public abstract class FolderPermissionBa
 
     SessionState.start(new CliSessionState(conf));
     driver = new Driver(conf);
-
     setupDataTable();
   }
 
@@ -117,9 +115,53 @@ public abstract class FolderPermissionBa
   }
 
   @Test
-  public void testCreateTable() throws Exception {
+  public void testCreateDb() throws Exception {
+    //see if db inherits permission from warehouse directory.
     String testDb = "mydb";
     String tableName = "createtable";
+
+    setPermission(warehouseDir.toString());
+    verifyPermission(warehouseDir.toString());
+
+    CommandProcessorResponse ret = driver.run("CREATE DATABASE " + testDb);
+    Assert.assertEquals(0,ret.getResponseCode());
+
+    assertExistence(warehouseDir + "/" + testDb + ".db");
+    verifyPermission(warehouseDir + "/" + testDb + ".db");
+
+    ret = driver.run("USE " + testDb);
+    Assert.assertEquals(0,ret.getResponseCode());
+
+    ret = driver.run("CREATE TABLE " + tableName + " (key string, value 
string)");
+    Assert.assertEquals(0,ret.getResponseCode());
+
+    verifyPermission(warehouseDir + "/" + testDb + ".db/" + tableName);
+
+    ret = driver.run("insert into table " + tableName + " select key,value 
from default.mysrc");
+    Assert.assertEquals(0,ret.getResponseCode());
+
+    assertExistence(warehouseDir + "/" + testDb + ".db/" + tableName);
+    verifyPermission(warehouseDir + "/" + testDb + ".db/" + tableName);
+
+    Assert.assertTrue(listStatus(warehouseDir + "/" + testDb + ".db/" + 
tableName).size() > 0);
+    for (String child : listStatus(warehouseDir + "/" + testDb + ".db/" + 
tableName)) {
+      verifyPermission(child);
+    }
+
+    ret = driver.run("USE default");
+    Assert.assertEquals(0,ret.getResponseCode());
+
+    //cleanup after the test.
+    fs.delete(warehouseDir, true);
+    fs.mkdirs(warehouseDir);
+    Assert.assertEquals(listStatus(warehouseDir.toString()).size(), 0);
+    setupDataTable();
+  }
+
+  @Test
+  public void testCreateTable() throws Exception {
+    String testDb = "mydb2";
+    String tableName = "createtable";
     CommandProcessorResponse ret = driver.run("CREATE DATABASE " + testDb);
     Assert.assertEquals(0,ret.getResponseCode());
 

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
 Sat Jul 26 23:45:46 2014
@@ -18,8 +18,8 @@
 
 package org.apache.hive.jdbc;
 
+import static org.apache.hadoop.hive.conf.SystemVariables.SET_COLUMN_NAME;
 import static org.apache.hadoop.hive.ql.exec.ExplainTask.EXPL_COLUMN_NAME;
-import static 
org.apache.hadoop.hive.ql.processors.SetProcessor.SET_COLUMN_NAME;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -53,7 +53,6 @@ import org.apache.hadoop.hive.conf.HiveC
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.ql.exec.UDF;
 import org.apache.hadoop.hive.ql.processors.DfsProcessor;
-import org.apache.hadoop.hive.ql.processors.SetProcessor;
 import org.apache.hive.common.util.HiveVersionInfo;
 import org.apache.hive.jdbc.Utils.JdbcConnectionParams;
 import org.apache.hive.service.cli.operation.ClassicTableTypeMapping;
@@ -276,22 +275,22 @@ public class TestJdbcDriver2 {
     Statement s = this.con.createStatement();
     ResultSet rs = s.executeQuery("SELECT * FROM " + dataTypeTableName);
 
-    rs.close();
-    s.close();
-
     assertTrue(s.getConnection() == this.con);
     assertTrue(rs.getStatement() == s);
 
+    rs.close();
+    s.close();
+
     /* Test parent references from PreparedStatement */
     PreparedStatement ps = this.con.prepareStatement("SELECT * FROM " + 
dataTypeTableName);
     rs = ps.executeQuery();
 
-    rs.close();
-    ps.close();
-
     assertTrue(ps.getConnection() == this.con);
     assertTrue(rs.getStatement() == ps);
 
+    rs.close();
+    ps.close();
+
     /* Test DatabaseMetaData queries which do not have a parent Statement */
     DatabaseMetaData md = this.con.getMetaData();
 
@@ -1888,7 +1887,7 @@ public class TestJdbcDriver2 {
    */
   @Test
   public void testFetchFirstSetCmds() throws Exception {
-    execFetchFirst("set -v", SetProcessor.SET_COLUMN_NAME, false);
+    execFetchFirst("set -v", SET_COLUMN_NAME, false);
   }
 
   /**
@@ -1997,7 +1996,7 @@ public class TestJdbcDriver2 {
     assertEquals("", res.getString(4));     // column
     assertEquals("hive_test_user", res.getString(5));
     assertEquals("USER", res.getString(6));
-    assertEquals("Select", res.getString(7));
+    assertEquals("SELECT", res.getString(7));
     assertEquals(false, res.getBoolean(8)); // grant option
     assertEquals(-1, res.getLong(9));
     assertNotNull(res.getString(10));       // grantor

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniMr.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniMr.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniMr.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniMr.java
 Sat Jul 26 23:45:46 2014
@@ -213,6 +213,37 @@ public class TestJdbcWithMiniMr {
     stmt.execute("DROP TABLE " + tableName);
   }
 
+  @Test
+  public void testTempTable() throws Exception {
+    // Create temp table with current connection
+    String tempTableName = "tmp1";
+    stmt.execute("CREATE TEMPORARY TABLE " + tempTableName + " (key string, 
value string)");
+    stmt.execute("load data local inpath '"
+        + dataFilePath.toString() + "' into table " + tempTableName);
+
+    String resultVal = "val_238";
+    String queryStr = "SELECT * FROM " + tempTableName +
+        " where value = '" + resultVal + "'";
+    verifyResult(queryStr, resultVal, 2);
+    
+    // A second connection should not be able to see the table
+    Connection conn2 = DriverManager.getConnection(miniHS2.getJdbcURL(dbName),
+        System.getProperty("user.name"), "bar");
+    Statement stmt2 = conn2.createStatement();
+    stmt2.execute("USE " + dbName);
+    boolean gotException = false;
+    try {
+      ResultSet res;
+      res = stmt2.executeQuery(queryStr);
+    } catch (SQLException err) {
+      // This is expected to fail.
+      assertTrue("Expecting table not found error, instead got: " + err,
+          err.getMessage().contains("Table not found"));
+      gotException = true;
+    }
+    assertTrue("Exception while querying non-existing temp table", 
gotException);
+  }
+
   private void checkForNotExist(ResultSet res) throws Exception {
     int numRows = 0;
     while (res.next()) {

Modified: 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestJdbcWithSQLAuthorization.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestJdbcWithSQLAuthorization.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestJdbcWithSQLAuthorization.java
 (original)
+++ 
hive/branches/spark/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestJdbcWithSQLAuthorization.java
 Sat Jul 26 23:45:46 2014
@@ -125,12 +125,14 @@ public class TestJdbcWithSQLAuthorizatio
       // create tables
       try {
         stmt.execute("dfs -ls /tmp/");
-      } catch (SQLException e){
+      } catch (SQLException e) {
         caughtException = true;
-        assertTrue("Checking error message content",
-            e.getMessage().contains("Insufficient privileges to execute"));
-      }
-      finally {
+        String msg = "Permission denied: Principal [name=user1, type=USER] 
does not have "
+            + "following privileges for operation DFS [[ADMIN PRIVILEGE] on "
+            + "Object [type=COMMAND_PARAMS, name=[-ls, /tmp/]]]";
+        assertTrue("Checking content of error message:" + e.getMessage(),
+            e.getMessage().contains(msg));
+      } finally {
         stmt.close();
         hs2Conn.close();
       }

Modified: hive/branches/spark/itests/qtest/testconfiguration.properties
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/qtest/testconfiguration.properties?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/itests/qtest/testconfiguration.properties (original)
+++ hive/branches/spark/itests/qtest/testconfiguration.properties Sat Jul 26 
23:45:46 2014
@@ -1,5 +1,5 @@
-minimr.query.files=stats_counter_partitioned.q,list_bucket_dml_10.q,input16_cc.q,scriptfile1.q,scriptfile1_win.q,bucket4.q,bucketmapjoin6.q,disable_merge_for_bucketing.q,reduce_deduplicate.q,smb_mapjoin_8.q,join1.q,groupby2.q,bucketizedhiveinputformat.q,bucketmapjoin7.q,optrstat_groupby.q,bucket_num_reducers.q,bucket5.q,load_fs2.q,bucket_num_reducers2.q,infer_bucket_sort_merge.q,infer_bucket_sort_reducers_power_two.q,infer_bucket_sort_dyn_part.q,infer_bucket_sort_bucketed_table.q,infer_bucket_sort_map_operators.q,infer_bucket_sort_num_buckets.q,leftsemijoin_mr.q,schemeAuthority.q,schemeAuthority2.q,truncate_column_buckets.q,remote_script.q,,load_hdfs_file_with_space_in_the_name.q,parallel_orderby.q,import_exported_table.q,stats_counter.q,auto_sortmerge_join_16.q,quotedid_smb.q,file_with_header_footer.q,external_table_with_space_in_location_path.q,root_dir_external_table.q,index_bitmap3.q,ql_rewrite_gbtoidx.q,index_bitmap_auto.q,udf_using.q
+minimr.query.files=stats_counter_partitioned.q,list_bucket_dml_10.q,input16_cc.q,scriptfile1.q,scriptfile1_win.q,bucket4.q,bucketmapjoin6.q,disable_merge_for_bucketing.q,reduce_deduplicate.q,smb_mapjoin_8.q,join1.q,groupby2.q,bucketizedhiveinputformat.q,bucketmapjoin7.q,optrstat_groupby.q,bucket_num_reducers.q,bucket5.q,load_fs2.q,bucket_num_reducers2.q,infer_bucket_sort_merge.q,infer_bucket_sort_reducers_power_two.q,infer_bucket_sort_dyn_part.q,infer_bucket_sort_bucketed_table.q,infer_bucket_sort_map_operators.q,infer_bucket_sort_num_buckets.q,leftsemijoin_mr.q,schemeAuthority.q,schemeAuthority2.q,truncate_column_buckets.q,remote_script.q,,load_hdfs_file_with_space_in_the_name.q,parallel_orderby.q,import_exported_table.q,stats_counter.q,auto_sortmerge_join_16.q,quotedid_smb.q,file_with_header_footer.q,external_table_with_space_in_location_path.q,root_dir_external_table.q,index_bitmap3.q,ql_rewrite_gbtoidx.q,index_bitmap_auto.q,udf_using.q,empty_dir_in_table.q,temp_table_external.q
 
minimr.query.negative.files=cluster_tasklog_retrieval.q,minimr_broken_pipe.q,mapreduce_stack_trace.q,mapreduce_stack_trace_turnoff.q,mapreduce_stack_trace_hadoop20.q,mapreduce_stack_trace_turnoff_hadoop20.q,file_with_header_footer_negative.q,udf_local_resource.q
 
minitez.query.files=tez_fsstat.q,mapjoin_decimal.q,tez_join_tests.q,tez_joins_explain.q,mrr.q,tez_dml.q,tez_insert_overwrite_local_directory_1.q,tez_union.q,bucket_map_join_tez1.q,bucket_map_join_tez2.q,tez_schema_evolution.q,tez_join_hash.q
-minitez.query.files.shared=cross_product_check_1.q,cross_product_check_2.q,dynpart_sort_opt_vectorization.q,dynpart_sort_optimization.q,orc_analyze.q,join0.q,join1.q,auto_join0.q,auto_join1.q,bucket2.q,bucket3.q,bucket4.q,count.q,create_merge_compressed.q,cross_join.q,ctas.q,custom_input_output_format.q,disable_merge_for_bucketing.q,enforce_order.q,filter_join_breaktask.q,filter_join_breaktask2.q,groupby1.q,groupby2.q,groupby3.q,having.q,insert1.q,insert_into1.q,insert_into2.q,leftsemijoin.q,limit_pushdown.q,load_dyn_part1.q,load_dyn_part2.q,load_dyn_part3.q,mapjoin_mapjoin.q,mapreduce1.q,mapreduce2.q,merge1.q,merge2.q,metadata_only_queries.q,sample1.q,subquery_in.q,subquery_exists.q,vectorization_15.q,ptf.q,stats_counter.q,stats_noscan_1.q,stats_counter_partitioned.q,union2.q,union3.q,union4.q,union5.q,union6.q,union7.q,union8.q,union9.q,transform1.q,transform2.q,transform_ppr1.q,transform_ppr2.q,script_env_var1.q,script_env_var2.q,script_pipe.q,scriptfile1.q
+minitez.query.files.shared=cross_product_check_1.q,cross_product_check_2.q,dynpart_sort_opt_vectorization.q,dynpart_sort_optimization.q,orc_analyze.q,join0.q,join1.q,auto_join0.q,auto_join1.q,bucket2.q,bucket3.q,bucket4.q,count.q,create_merge_compressed.q,cross_join.q,ctas.q,custom_input_output_format.q,disable_merge_for_bucketing.q,enforce_order.q,filter_join_breaktask.q,filter_join_breaktask2.q,groupby1.q,groupby2.q,groupby3.q,having.q,insert1.q,insert_into1.q,insert_into2.q,leftsemijoin.q,limit_pushdown.q,load_dyn_part1.q,load_dyn_part2.q,load_dyn_part3.q,mapjoin_mapjoin.q,mapreduce1.q,mapreduce2.q,merge1.q,merge2.q,metadata_only_queries.q,sample1.q,subquery_in.q,subquery_exists.q,vectorization_15.q,ptf.q,stats_counter.q,stats_noscan_1.q,stats_counter_partitioned.q,union2.q,union3.q,union4.q,union5.q,union6.q,union7.q,union8.q,union9.q,transform1.q,transform2.q,transform_ppr1.q,transform_ppr2.q,script_env_var1.q,script_env_var2.q,script_pipe.q,scriptfile1.q,metadataonly1.q,temp_t
 able.q,vectorized_ptf.q,optimize_nullscan.q,vector_cast_constant.q
 
beeline.positive.exclude=add_part_exist.q,alter1.q,alter2.q,alter4.q,alter5.q,alter_rename_partition.q,alter_rename_partition_authorization.q,archive.q,archive_corrupt.q,archive_multi.q,archive_mr_1806.q,archive_multi_mr_1806.q,authorization_1.q,authorization_2.q,authorization_4.q,authorization_5.q,authorization_6.q,authorization_7.q,ba_table1.q,ba_table2.q,ba_table3.q,ba_table_udfs.q,binary_table_bincolserde.q,binary_table_colserde.q,cluster.q,columnarserde_create_shortcut.q,combine2.q,constant_prop.q,create_nested_type.q,create_or_replace_view.q,create_struct_table.q,create_union_table.q,database.q,database_location.q,database_properties.q,ddltime.q,describe_database_json.q,drop_database_removes_partition_dirs.q,escape1.q,escape2.q,exim_00_nonpart_empty.q,exim_01_nonpart.q,exim_02_00_part_empty.q,exim_02_part.q,exim_03_nonpart_over_compat.q,exim_04_all_part.q,exim_04_evolved_parts.q,exim_05_some_part.q,exim_06_one_part.q,exim_07_all_part_over_nonoverlap.q,exim_08_nonpart_rename.q,
 
exim_09_part_spec_nonoverlap.q,exim_10_external_managed.q,exim_11_managed_external.q,exim_12_external_location.q,exim_13_managed_location.q,exim_14_managed_location_over_existing.q,exim_15_external_part.q,exim_16_part_external.q,exim_17_part_managed.q,exim_18_part_external.q,exim_19_00_part_external_location.q,exim_19_part_external_location.q,exim_20_part_managed_location.q,exim_21_export_authsuccess.q,exim_22_import_exist_authsuccess.q,exim_23_import_part_authsuccess.q,exim_24_import_nonexist_authsuccess.q,global_limit.q,groupby_complex_types.q,groupby_complex_types_multi_single_reducer.q,index_auth.q,index_auto.q,index_auto_empty.q,index_bitmap.q,index_bitmap1.q,index_bitmap2.q,index_bitmap3.q,index_bitmap_auto.q,index_bitmap_rc.q,index_compact.q,index_compact_1.q,index_compact_2.q,index_compact_3.q,index_stale_partitioned.q,init_file.q,input16.q,input16_cc.q,input46.q,input_columnarserde.q,input_dynamicserde.q,input_lazyserde.q,input_testxpath3.q,input_testxpath4.q,insert2_overwr
 
ite_partitions.q,insertexternal1.q,join_thrift.q,lateral_view.q,load_binary_data.q,load_exist_part_authsuccess.q,load_nonpart_authsuccess.q,load_part_authsuccess.q,loadpart_err.q,lock1.q,lock2.q,lock3.q,lock4.q,merge_dynamic_partition.q,multi_insert.q,multi_insert_move_tasks_share_dependencies.q,null_column.q,ppd_clusterby.q,query_with_semi.q,rename_column.q,sample6.q,sample_islocalmode_hook.q,set_processor_namespaces.q,show_tables.q,source.q,split_sample.q,str_to_map.q,transform1.q,udaf_collect_set.q,udaf_context_ngrams.q,udaf_histogram_numeric.q,udaf_ngrams.q,udaf_percentile_approx.q,udf_array.q,udf_bitmap_and.q,udf_bitmap_or.q,udf_explode.q,udf_format_number.q,udf_map.q,udf_map_keys.q,udf_map_values.q,udf_max.q,udf_min.q,udf_named_struct.q,udf_percentile.q,udf_printf.q,udf_sentences.q,udf_sort_array.q,udf_split.q,udf_struct.q,udf_substr.q,udf_translate.q,udf_union.q,udf_xpath.q,udtf_stack.q,view.q,virtual_column.q

Modified: 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAccessControllerForTest.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAccessControllerForTest.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAccessControllerForTest.java
 (original)
+++ 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAccessControllerForTest.java
 Sat Jul 26 23:45:46 2014
@@ -19,11 +19,9 @@ package org.apache.hadoop.hive.ql.securi
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider;
 import 
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzPluginException;
 import 
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveMetastoreClientFactory;
-import 
org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAccessController;
 
 /**
  * Extends SQLStdHiveAccessController to relax the restriction of not being 
able to run dfs
@@ -43,9 +41,6 @@ public class SQLStdHiveAccessControllerF
   public void applyAuthorizationConfigPolicy(HiveConf hiveConf) {
     super.applyAuthorizationConfigPolicy(hiveConf);
 
-    // allow set and dfs commands
-    hiveConf.setVar(ConfVars.HIVE_SECURITY_COMMAND_WHITELIST, "set,dfs");
-
     // remove restrictions on the variables that can be set using set command
     hiveConf.setIsModWhiteListEnabled(false);
 

Modified: 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizerFactoryForTest.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizerFactoryForTest.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizerFactoryForTest.java
 (original)
+++ 
hive/branches/spark/itests/util/src/main/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizerFactoryForTest.java
 Sat Jul 26 23:45:46 2014
@@ -35,7 +35,7 @@ public class SQLStdHiveAuthorizerFactory
         new SQLStdHiveAccessControllerForTest(metastoreClientFactory, conf, 
authenticator);
     return new HiveAuthorizerImpl(
         privilegeManager,
-        new SQLStdHiveAuthorizationValidator(metastoreClientFactory, conf, 
authenticator,
+        new SQLStdHiveAuthorizationValidatorForTest(metastoreClientFactory, 
conf, authenticator,
             privilegeManager)
         );
   }

Modified: hive/branches/spark/jdbc/pom.xml
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/jdbc/pom.xml?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/jdbc/pom.xml (original)
+++ hive/branches/spark/jdbc/pom.xml Sat Jul 26 23:45:46 2014
@@ -121,6 +121,7 @@
               <goal>shade</goal>
             </goals>
             <configuration>
+              <minimizeJar>true</minimizeJar>
               <shadedArtifactAttached>true</shadedArtifactAttached>
               
<shadedClassifierName>${hive.jdbc.driver.classifier}</shadedClassifierName>
               <artifactSet>

Modified: 
hive/branches/spark/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java 
(original)
+++ hive/branches/spark/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java 
Sat Jul 26 23:45:46 2014
@@ -111,26 +111,20 @@ public class HiveStatement implements ja
 
   @Override
   public void cancel() throws SQLException {
-    if (isClosed) {
-      throw new SQLException("Can't cancel after statement has been closed");
-    }
-
-    if (stmtHandle == null) {
-      return;
-    }
+    checkConnection("cancel");
 
-    TCancelOperationReq cancelReq = new TCancelOperationReq();
-    cancelReq.setOperationHandle(stmtHandle);
+    transportLock.lock();
     try {
-      transportLock.lock();
-      TCancelOperationResp cancelResp = client.CancelOperation(cancelReq);
-      Utils.verifySuccessWithInfo(cancelResp.getStatus());
+      if (stmtHandle != null) {
+        TCancelOperationReq cancelReq = new TCancelOperationReq(stmtHandle);
+        TCancelOperationResp cancelResp = client.CancelOperation(cancelReq);
+        Utils.verifySuccessWithInfo(cancelResp.getStatus());
+      }
     } catch (SQLException e) {
       throw e;
     } catch (Exception e) {
       throw new SQLException(e.toString(), "08S01", e);
-    }
-    finally {
+    } finally {
       transportLock.unlock();
     }
   }
@@ -158,11 +152,10 @@ public class HiveStatement implements ja
   }
 
   void closeClientOperation() throws SQLException {
+    transportLock.lock();
     try {
       if (stmtHandle != null) {
-        TCloseOperationReq closeReq = new TCloseOperationReq();
-        closeReq.setOperationHandle(stmtHandle);
-        transportLock.lock();
+        TCloseOperationReq closeReq = new TCloseOperationReq(stmtHandle);
         TCloseOperationResp closeResp = client.CloseOperation(closeReq);
         Utils.verifySuccessWithInfo(closeResp.getStatus());
       }
@@ -170,8 +163,7 @@ public class HiveStatement implements ja
       throw e;
     } catch (Exception e) {
       throw new SQLException(e.toString(), "08S01", e);
-    }
-    finally {
+    } finally {
       transportLock.unlock();
     }
     stmtHandle = null;
@@ -187,16 +179,14 @@ public class HiveStatement implements ja
     if (isClosed) {
       return;
     }
-    if (stmtHandle != null) {
-      closeClientOperation();
-    }
+    closeClientOperation();
     client = null;
     resultSet = null;
     isClosed = true;
   }
 
+  // JDK 1.7
   public void closeOnCompletion() throws SQLException {
-    // JDK 1.7
     throw new SQLException("Method not supported");
   }
 
@@ -208,25 +198,22 @@ public class HiveStatement implements ja
 
   @Override
   public boolean execute(String sql) throws SQLException {
-    if (isClosed) {
-      throw new SQLException("Can't execute after statement has been closed");
-    }
+    checkConnection("execute");
 
-    try {
-      if (stmtHandle != null) {
-        closeClientOperation();
-      }
+    closeClientOperation();
 
-      TExecuteStatementReq execReq = new TExecuteStatementReq(sessHandle, sql);
-      /**
-       * Run asynchronously whenever possible
-       * Currently only a SQLOperation can be run asynchronously,
-       * in a background operation thread
-       * Compilation is synchronous and execution is asynchronous
-       */
-      execReq.setRunAsync(true);
-      execReq.setConfOverlay(sessConf);
-      transportLock.lock();
+    TExecuteStatementReq execReq = new TExecuteStatementReq(sessHandle, sql);
+    /**
+     * Run asynchronously whenever possible
+     * Currently only a SQLOperation can be run asynchronously,
+     * in a background operation thread
+     * Compilation is synchronous and execution is asynchronous
+     */
+    execReq.setRunAsync(true);
+    execReq.setConfOverlay(sessConf);
+
+    transportLock.lock();
+    try {
       TExecuteStatementResp execResp = client.ExecuteStatement(execReq);
       Utils.verifySuccessWithInfo(execResp.getStatus());
       stmtHandle = execResp.getOperationHandle();
@@ -234,8 +221,7 @@ public class HiveStatement implements ja
       throw eS;
     } catch (Exception ex) {
       throw new SQLException(ex.toString(), "08S01", ex);
-    }
-    finally {
+    } finally {
       transportLock.unlock();
     }
 
@@ -253,11 +239,7 @@ public class HiveStatement implements ja
         transportLock.lock();
         try {
           statusResp = client.GetOperationStatus(statusReq);
-        }
-        catch (Exception e) {
-          throw e;
-        }
-        finally {
+        } finally {
           transportLock.unlock();
         }
         Utils.verifySuccessWithInfo(statusResp.getStatus());
@@ -300,6 +282,12 @@ public class HiveStatement implements ja
     return true;
   }
 
+  private void checkConnection(String action) throws SQLException {
+    if (isClosed) {
+      throw new SQLException("Can't " + action + " after statement has been 
closed");
+    }
+  }
+
   /*
    * (non-Javadoc)
    *
@@ -411,6 +399,7 @@ public class HiveStatement implements ja
 
   @Override
   public Connection getConnection() throws SQLException {
+    checkConnection("getConnection");
     return this.connection;
   }
 
@@ -422,7 +411,8 @@ public class HiveStatement implements ja
 
   @Override
   public int getFetchDirection() throws SQLException {
-    throw new SQLException("Method not supported");
+    checkConnection("getFetchDirection");
+    return ResultSet.FETCH_FORWARD;
   }
 
   /*
@@ -433,6 +423,7 @@ public class HiveStatement implements ja
 
   @Override
   public int getFetchSize() throws SQLException {
+    checkConnection("getFetchSize");
     return fetchSize;
   }
 
@@ -466,6 +457,7 @@ public class HiveStatement implements ja
 
   @Override
   public int getMaxRows() throws SQLException {
+    checkConnection("getMaxRows");
     return maxRows;
   }
 
@@ -499,7 +491,8 @@ public class HiveStatement implements ja
 
   @Override
   public int getQueryTimeout() throws SQLException {
-    throw new SQLException("Method not supported");
+    checkConnection("getQueryTimeout");
+    return 0;
   }
 
   /*
@@ -510,6 +503,7 @@ public class HiveStatement implements ja
 
   @Override
   public ResultSet getResultSet() throws SQLException {
+    checkConnection("getResultSet");
     return resultSet;
   }
 
@@ -543,7 +537,8 @@ public class HiveStatement implements ja
 
   @Override
   public int getResultSetType() throws SQLException {
-    throw new SQLException("Method not supported");
+    checkConnection("getResultSetType");
+    return ResultSet.TYPE_FORWARD_ONLY;
   }
 
   /*
@@ -554,6 +549,7 @@ public class HiveStatement implements ja
 
   @Override
   public int getUpdateCount() throws SQLException {
+    checkConnection("getUpdateCount");
     return 0;
   }
 
@@ -565,6 +561,7 @@ public class HiveStatement implements ja
 
   @Override
   public SQLWarning getWarnings() throws SQLException {
+    checkConnection("getWarnings");
     return warningChain;
   }
 
@@ -579,9 +576,9 @@ public class HiveStatement implements ja
     return isClosed;
   }
 
+  // JDK 1.7
   public boolean isCloseOnCompletion() throws SQLException {
-    // JDK 1.7
-    throw new SQLException("Method not supported");
+    return false;
   }
 
   /*
@@ -592,7 +589,7 @@ public class HiveStatement implements ja
 
   @Override
   public boolean isPoolable() throws SQLException {
-    throw new SQLException("Method not supported");
+    return false;
   }
 
   /*
@@ -625,7 +622,10 @@ public class HiveStatement implements ja
 
   @Override
   public void setFetchDirection(int direction) throws SQLException {
-    throw new SQLException("Method not supported");
+    checkConnection("setFetchDirection");
+    if (direction != ResultSet.FETCH_FORWARD) {
+      throw new SQLException("Not supported direction " + direction);
+    }
   }
 
   /*
@@ -636,6 +636,7 @@ public class HiveStatement implements ja
 
   @Override
   public void setFetchSize(int rows) throws SQLException {
+    checkConnection("setFetchSize");
     fetchSize = rows;
   }
 
@@ -658,6 +659,7 @@ public class HiveStatement implements ja
 
   @Override
   public void setMaxRows(int max) throws SQLException {
+    checkConnection("setMaxRows");
     if (max < 0) {
       throw new SQLException("max must be >= 0");
     }
@@ -694,7 +696,7 @@ public class HiveStatement implements ja
 
   @Override
   public boolean isWrapperFor(Class<?> iface) throws SQLException {
-    throw new SQLException("Method not supported");
+    return false;
   }
 
   /*
@@ -705,7 +707,7 @@ public class HiveStatement implements ja
 
   @Override
   public <T> T unwrap(Class<T> iface) throws SQLException {
-    throw new SQLException("Method not supported");
+    throw new SQLException("Cannot unwrap to " + iface);
   }
 
 }

Modified: hive/branches/spark/metastore/if/hive_metastore.thrift
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/metastore/if/hive_metastore.thrift?rev=1613740&r1=1613739&r2=1613740&view=diff
==============================================================================
--- hive/branches/spark/metastore/if/hive_metastore.thrift (original)
+++ hive/branches/spark/metastore/if/hive_metastore.thrift Sat Jul 26 23:45:46 
2014
@@ -101,6 +101,11 @@ enum CompactionType {
     MAJOR = 2,
 }
 
+enum GrantRevokeType {
+    GRANT = 1,
+    REVOKE = 2,
+}
+
 struct HiveObjectRef{
   1: HiveObjectType objectType,
   2: string dbName,
@@ -134,6 +139,16 @@ struct PrincipalPrivilegeSet {
   3: map<string, list<PrivilegeGrantInfo>> rolePrivileges, //role name -> 
privilege grant info
 }
 
+struct GrantRevokePrivilegeRequest {
+  1: GrantRevokeType requestType;
+  2: PrivilegeBag privileges;
+  3: optional bool revokeGrantOption;  // Only for revoke request
+}
+
+struct GrantRevokePrivilegeResponse {
+  1: optional bool success;
+}
+
 struct Role {
   1: string roleName,
   2: i32 createTime,
@@ -168,6 +183,20 @@ struct GetPrincipalsInRoleResponse {
   1: required list<RolePrincipalGrant> principalGrants;
 }
 
+struct GrantRevokeRoleRequest {
+  1: GrantRevokeType requestType;
+  2: string roleName;
+  3: string principalName;
+  4: PrincipalType principalType;
+  5: optional string grantor;            // Needed for grant
+  6: optional PrincipalType grantorType; // Needed for grant
+  7: optional bool grantOption;
+}
+
+struct GrantRevokeRoleResponse {
+  1: optional bool success;
+}
+
 // namespace for tables
 struct Database {
   1: string name,
@@ -230,6 +259,7 @@ struct Table {
   11: string viewExpandedText,         // expanded view text, null for non-view
   12: string tableType,                 // table type enum, e.g. EXTERNAL_TABLE
   13: optional PrincipalPrivilegeSet privileges,
+  14: optional bool temporary=false
 }
 
 struct Partition {
@@ -957,11 +987,14 @@ service ThriftHiveMetastore extends fb30
   bool create_role(1:Role role) throws(1:MetaException o1)
   bool drop_role(1:string role_name) throws(1:MetaException o1)
   list<string> get_role_names() throws(1:MetaException o1)
+  // Deprecated, use grant_revoke_role()
   bool grant_role(1:string role_name, 2:string principal_name, 3:PrincipalType 
principal_type,
     4:string grantor, 5:PrincipalType grantorType, 6:bool grant_option) 
throws(1:MetaException o1)
+  // Deprecated, use grant_revoke_role()
   bool revoke_role(1:string role_name, 2:string principal_name, 
3:PrincipalType principal_type)
                         throws(1:MetaException o1)
   list<Role> list_roles(1:string principal_name, 2:PrincipalType 
principal_type) throws(1:MetaException o1)
+  GrantRevokeRoleResponse grant_revoke_role(1:GrantRevokeRoleRequest request) 
throws(1:MetaException o1)
 
   // get all role-grants for users/roles that have been granted the given role
   // Note that in the returned list of RolePrincipalGrants, the roleName is
@@ -978,8 +1011,11 @@ service ThriftHiveMetastore extends fb30
   list<HiveObjectPrivilege> list_privileges(1:string principal_name, 
2:PrincipalType principal_type,
     3: HiveObjectRef hiveObject) throws(1:MetaException o1)
 
+  // Deprecated, use grant_revoke_privileges()
   bool grant_privileges(1:PrivilegeBag privileges) throws(1:MetaException o1)
+  // Deprecated, use grant_revoke_privileges()
   bool revoke_privileges(1:PrivilegeBag privileges) throws(1:MetaException o1)
+  GrantRevokePrivilegeResponse 
grant_revoke_privileges(1:GrantRevokePrivilegeRequest request) 
throws(1:MetaException o1);
 
   // this is used by metastore client to send UGI information to metastore 
server immediately
   // after setting up a connection.


Reply via email to