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 2017/10/23 17:04:37 UTC

hive git commit: HIVE-17845 : insert fails if target table columns are not lowercase (Naresh P R via Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master f869ade1c -> 0a08eeb99


HIVE-17845 : insert fails if target table columns are not lowercase (Naresh P R via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/0a08eeb9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/0a08eeb9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/0a08eeb9

Branch: refs/heads/master
Commit: 0a08eeb9917d987ca8f49624d8ccd8fdda41e523
Parents: f869ade
Author: Naresh P R <pr...@gmail.com>
Authored: Mon Oct 23 10:03:58 2017 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Mon Oct 23 10:03:58 2017 -0700

----------------------------------------------------------------------
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java    |  2 +-
 .../test/queries/positive/insert_column_mixcase.q |  6 ++++++
 .../clientpositive/insert_column_mixcase.q.out    | 18 ++++++++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/0a08eeb9/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index cbb2075..5ccb69a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -1798,7 +1798,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
       for(Node col : tabColName.getChildren()) {
         assert ((ASTNode)col).getType() == HiveParser.Identifier :
           "expected token " + HiveParser.Identifier + " found " + ((ASTNode)col).getType();
-        targetColNames.add(((ASTNode)col).getText());
+        targetColNames.add(((ASTNode)col).getText().toLowerCase());
       }
       String fullTableName = getUnescapedName((ASTNode) ast.getChild(0).getChild(0),
         SessionState.get().getCurrentDatabase());

http://git-wip-us.apache.org/repos/asf/hive/blob/0a08eeb9/ql/src/test/queries/positive/insert_column_mixcase.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/positive/insert_column_mixcase.q b/ql/src/test/queries/positive/insert_column_mixcase.q
new file mode 100644
index 0000000..12671d2
--- /dev/null
+++ b/ql/src/test/queries/positive/insert_column_mixcase.q
@@ -0,0 +1,6 @@
+DROP TABLE IF EXISTS insert_camel_case;
+CREATE TABLE insert_camel_case (key int, value string);
+
+INSERT INTO insert_camel_case(KeY, VALuE) SELECT * FROM src LIMIT 100;
+
+DROP TABLE IF EXISTS insert_camel_case;

http://git-wip-us.apache.org/repos/asf/hive/blob/0a08eeb9/ql/src/test/results/clientpositive/insert_column_mixcase.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/insert_column_mixcase.q.out b/ql/src/test/results/clientpositive/insert_column_mixcase.q.out
new file mode 100644
index 0000000..9395e89
--- /dev/null
+++ b/ql/src/test/results/clientpositive/insert_column_mixcase.q.out
@@ -0,0 +1,18 @@
+PREHOOK: query: DROP TABLE IF EXISTS insert_camel_case
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS insert_camel_case
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE insert_camel_case (key int, value string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@insert_camel_case
+POSTHOOK: query: CREATE TABLE insert_camel_case (key int, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@insert_camel_case
+PREHOOK: query: INSERT INTO insert_camel_case(KeY, VALuE) SELECT * FROM src LIMIT 100
+PREHOOK: type: QUERY
+PREHOOK: Output: default@insert_camel_case
+POSTHOOK: query: INSERT INTO insert_camel_case(KeY, VALuE) SELECT * FROM src LIMIT 100
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@insert_camel_case