You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/06/03 16:48:28 UTC
svn commit: r1489013 - in /hive/trunk/ql/src:
java/org/apache/hadoop/hive/ql/metadata/Table.java
test/queries/clientnegative/invalid_columns.q
test/results/clientnegative/invalid_columns.q.out
Author: hashutosh
Date: Mon Jun 3 14:48:27 2013
New Revision: 1489013
URL: http://svn.apache.org/r1489013
Log:
HIVE-4615 : Invalid column names allowed when created dynamically by a SerDe (Gabriel Reid via Ashutosh Chauhan)
Added:
hive/trunk/ql/src/test/queries/clientnegative/invalid_columns.q
hive/trunk/ql/src/test/results/clientnegative/invalid_columns.q.out
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java?rev=1489013&r1=1489012&r2=1489013&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java Mon Jun 3 14:48:27 2013
@@ -196,6 +196,10 @@ public class Table implements Serializab
List<String> colNames = new ArrayList<String>();
while (iterCols.hasNext()) {
String colName = iterCols.next().getName();
+ if (!MetaStoreUtils.validateName(colName)) {
+ throw new HiveException("Invalid column name '" + colName
+ + "' in the table definition");
+ }
Iterator<String> iter = colNames.iterator();
while (iter.hasNext()) {
String oldColName = iter.next();
Added: hive/trunk/ql/src/test/queries/clientnegative/invalid_columns.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/invalid_columns.q?rev=1489013&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/invalid_columns.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/invalid_columns.q Mon Jun 3 14:48:27 2013
@@ -0,0 +1,4 @@
+ADD JAR ../data/files/TestSerDe.jar;
+CREATE TABLE DELETEJAR(KEY STRING, VALUE STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.TestSerDe'
+STORED AS TEXTFILE
+TBLPROPERTIES('columns'='valid_colname,invalid.colname');
Added: hive/trunk/ql/src/test/results/clientnegative/invalid_columns.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/invalid_columns.q.out?rev=1489013&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/invalid_columns.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/invalid_columns.q.out Mon Jun 3 14:48:27 2013
@@ -0,0 +1,6 @@
+PREHOOK: query: CREATE TABLE DELETEJAR(KEY STRING, VALUE STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.TestSerDe'
+STORED AS TEXTFILE
+TBLPROPERTIES('columns'='valid_colname,invalid.colname')
+PREHOOK: type: CREATETABLE
+FAILED: Error in metadata: org.apache.hadoop.hive.ql.metadata.HiveException: Invalid column name 'invalid.colname' in the table definition
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask