Repository: hive
Updated Branches:
  refs/heads/master 90a9a90ed -> db5fbe913


HIVE-13146: OrcFile table property values are case sensitive (Yongzhi Chen, 
reviewed by Aihua Xu)


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

Branch: refs/heads/master
Commit: db5fbe913eeff85e5b7ed238857b668f6449eb55
Parents: 90a9a90
Author: Yongzhi Chen <[email protected]>
Authored: Thu Feb 25 12:54:03 2016 -0500
Committer: Yongzhi Chen <[email protected]>
Committed: Tue Mar 1 09:03:42 2016 -0500

----------------------------------------------------------------------
 orc/src/java/org/apache/orc/OrcFile.java        |  2 +-
 .../hadoop/hive/ql/io/orc/ReaderImpl.java       |  2 +-
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java  |  1 +
 ql/src/test/queries/clientpositive/orc_create.q | 12 +++++
 .../results/clientpositive/orc_create.q.out     | 52 ++++++++++++++++++++
 5 files changed, 67 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/db5fbe91/orc/src/java/org/apache/orc/OrcFile.java
----------------------------------------------------------------------
diff --git a/orc/src/java/org/apache/orc/OrcFile.java 
b/orc/src/java/org/apache/orc/OrcFile.java
index 98226f9..8061089 100644
--- a/orc/src/java/org/apache/orc/OrcFile.java
+++ b/orc/src/java/org/apache/orc/OrcFile.java
@@ -255,7 +255,7 @@ public class OrcFile {
           OrcConf.BLOCK_PADDING.getBoolean(tableProperties, conf);
       compressValue =
           CompressionKind.valueOf(OrcConf.COMPRESS.getString(tableProperties,
-              conf));
+              conf).toUpperCase());
       String versionName = OrcConf.WRITE_FORMAT.getString(tableProperties,
           conf);
       versionValue = Version.byName(versionName);

http://git-wip-us.apache.org/repos/asf/hive/blob/db5fbe91/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java
index 3e031ed..1299c9c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java
@@ -585,7 +585,7 @@ public class ReaderImpl implements Reader {
     MetaInfoObjExtractor(String codecStr, int bufferSize, int metadataSize, 
         ByteBuffer footerBuffer) throws IOException {
 
-      this.compressionKind = org.apache.orc.CompressionKind.valueOf(codecStr);
+      this.compressionKind = 
org.apache.orc.CompressionKind.valueOf(codecStr.toUpperCase());
       this.bufferSize = bufferSize;
       this.codec = WriterImpl.createCodec(compressionKind);
       this.metadataSize = metadataSize;

http://git-wip-us.apache.org/repos/asf/hive/blob/db5fbe91/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 0db1dab..6373746 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
@@ -12569,4 +12569,5 @@ public class SemanticAnalyzer extends 
BaseSemanticAnalyzer {
     SessionState.getConsole().printInfo(
         String.format("Warning: %s", msg));
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/db5fbe91/ql/src/test/queries/clientpositive/orc_create.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/orc_create.q 
b/ql/src/test/queries/clientpositive/orc_create.q
index 57912ef..0647200 100644
--- a/ql/src/test/queries/clientpositive/orc_create.q
+++ b/ql/src/test/queries/clientpositive/orc_create.q
@@ -6,6 +6,7 @@ DROP TABLE orc_create_complex;
 DROP TABLE orc_create_staging;
 DROP TABLE orc_create_people_staging;
 DROP TABLE orc_create_people;
+DROP TABLE if exists orc_create_cprl;
 
 CREATE TABLE orc_create_staging (
   str STRING,
@@ -119,8 +120,19 @@ SELECT COUNT(*) FROM orc_create_people where salary = 
200.00 and state = 'Ca';
 SELECT id, first_name, last_name, address
   FROM orc_create_people WHERE id > 90;
 
+-- test create with lower case compression method.
+CREATE TABLE orc_create_cprl (id int)
+PARTITIONED BY (cdate date)
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='snappy');
+INSERT OVERWRITE table orc_create_cprl PARTITION (cdate = '2015-02-03')
+SELECT 1 from src limit 1;
+SELECT * from orc_create_cprl;
+
 DROP TABLE orc_create;
 DROP TABLE orc_create_complex;
 DROP TABLE orc_create_staging;
 DROP TABLE orc_create_people_staging;
 DROP TABLE orc_create_people;
+DROP TABLE orc_create_cprl;

http://git-wip-us.apache.org/repos/asf/hive/blob/db5fbe91/ql/src/test/results/clientpositive/orc_create.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_create.q.out 
b/ql/src/test/results/clientpositive/orc_create.q.out
index e294dec..3013fda 100644
--- a/ql/src/test/results/clientpositive/orc_create.q.out
+++ b/ql/src/test/results/clientpositive/orc_create.q.out
@@ -22,6 +22,10 @@ PREHOOK: query: DROP TABLE orc_create_people
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE orc_create_people
 POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP TABLE if exists orc_create_cprl
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE if exists orc_create_cprl
+POSTHOOK: type: DROPTABLE
 PREHOOK: query: CREATE TABLE orc_create_staging (
   str STRING,
   mp  MAP<STRING,STRING>,
@@ -678,6 +682,46 @@ POSTHOOK: Input: default@orc_create_people@state=Or
 97     Dana    Carter  814-601 Purus. Av.
 98     Juliet  Battle  Ap #535-1965 Cursus St.
 99     Wynter  Vincent 626-8492 Mollis Avenue
+PREHOOK: query: -- test create with lower case compression method.
+CREATE TABLE orc_create_cprl (id int)
+PARTITIONED BY (cdate date)
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='snappy')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@orc_create_cprl
+POSTHOOK: query: -- test create with lower case compression method.
+CREATE TABLE orc_create_cprl (id int)
+PARTITIONED BY (cdate date)
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='snappy')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@orc_create_cprl
+PREHOOK: query: INSERT OVERWRITE table orc_create_cprl PARTITION (cdate = 
'2015-02-03')
+SELECT 1 from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@orc_create_cprl@cdate=2015-02-03
+POSTHOOK: query: INSERT OVERWRITE table orc_create_cprl PARTITION (cdate = 
'2015-02-03')
+SELECT 1 from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@orc_create_cprl@cdate=2015-02-03
+POSTHOOK: Lineage: orc_create_cprl PARTITION(cdate=2015-02-03).id SIMPLE []
+PREHOOK: query: SELECT * from orc_create_cprl
+PREHOOK: type: QUERY
+PREHOOK: Input: default@orc_create_cprl
+PREHOOK: Input: default@orc_create_cprl@cdate=2015-02-03
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * from orc_create_cprl
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@orc_create_cprl
+POSTHOOK: Input: default@orc_create_cprl@cdate=2015-02-03
+#### A masked pattern was here ####
+1      2015-02-03
 PREHOOK: query: DROP TABLE orc_create
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@orc_create
@@ -718,3 +762,11 @@ POSTHOOK: query: DROP TABLE orc_create_people
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@orc_create_people
 POSTHOOK: Output: default@orc_create_people
+PREHOOK: query: DROP TABLE orc_create_cprl
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@orc_create_cprl
+PREHOOK: Output: default@orc_create_cprl
+POSTHOOK: query: DROP TABLE orc_create_cprl
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@orc_create_cprl
+POSTHOOK: Output: default@orc_create_cprl

Reply via email to