Repository: hive Updated Branches: refs/heads/branch-1 f1c75b5f0 -> 82c2acdbe
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/82c2acdb Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/82c2acdb Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/82c2acdb Branch: refs/heads/branch-1 Commit: 82c2acdbe10cf7a27d58cf0f1fb291b7cdb18e54 Parents: f1c75b5 Author: Yongzhi Chen <ych...@apache.org> Authored: Thu Feb 25 12:54:03 2016 -0500 Committer: Yongzhi Chen <ych...@apache.org> Committed: Tue Mar 1 09:45:07 2016 -0500 ---------------------------------------------------------------------- .../apache/hadoop/hive/ql/io/orc/OrcFile.java | 2 +- .../hadoop/hive/ql/io/orc/OrcOutputFormat.java | 2 +- .../hadoop/hive/ql/io/orc/ReaderImpl.java | 2 +- ql/src/test/queries/clientpositive/orc_create.q | 12 +++++ .../results/clientpositive/orc_create.q.out | 52 ++++++++++++++++++++ 5 files changed, 67 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/82c2acdb/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java index 08f2f5e..b13dad2 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java @@ -307,7 +307,7 @@ public final class OrcFile { propValue = tableProperties == null ? null : tableProperties.getProperty(OrcTableProperties.COMPRESSION.propName); compressValue = propValue == null ? CompressionKind.valueOf(HiveConf.getVar(conf, HIVE_ORC_DEFAULT_COMPRESS)) - : CompressionKind.valueOf(propValue); + : CompressionKind.valueOf(propValue.toUpperCase()); propValue = tableProperties == null ? null : tableProperties.getProperty(OrcTableProperties.BLOOM_FILTER_COLUMNS.propName); http://git-wip-us.apache.org/repos/asf/hive/blob/82c2acdb/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcOutputFormat.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcOutputFormat.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcOutputFormat.java index 8625ff1..bc55677 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcOutputFormat.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcOutputFormat.java @@ -140,7 +140,7 @@ public class OrcOutputFormat extends FileOutputFormat<NullWritable, OrcSerdeRow> if ((propVal = getSettingFromPropsFallingBackToConf( OrcFile.OrcTableProperties.COMPRESSION.getPropName(),props,conf)) != null){ - options.compress(CompressionKind.valueOf(propVal)); + options.compress(CompressionKind.valueOf(propVal.toUpperCase())); } if ((propVal = getSettingFromPropsFallingBackToConf( http://git-wip-us.apache.org/repos/asf/hive/blob/82c2acdb/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 fc1a8fa..a7c564a 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 @@ -456,7 +456,7 @@ public class ReaderImpl implements Reader { MetaInfoObjExtractor(String codecStr, int bufferSize, int metadataSize, ByteBuffer footerBuffer) throws IOException { - this.compressionKind = CompressionKind.valueOf(codecStr); + this.compressionKind = 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/82c2acdb/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 e42c5ae..dc28105 100644 --- a/ql/src/test/queries/clientpositive/orc_create.q +++ b/ql/src/test/queries/clientpositive/orc_create.q @@ -5,6 +5,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, @@ -118,8 +119,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/82c2acdb/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 bffb58d..8153e98 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>, @@ -684,6 +688,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 @@ -724,3 +768,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