You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by om...@apache.org on 2017/05/16 20:37:17 UTC
hive git commit: HIVE-16683. Backport of ORC-125 to fix incorrect
handling of future WriterVersions in ORC.
Repository: hive
Updated Branches:
refs/heads/branch-2.2 e4ac41d86 -> b9eee0bbd
HIVE-16683. Backport of ORC-125 to fix incorrect handling of future
WriterVersions in ORC.
Signed-off-by: Owen O'Malley <om...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b9eee0bb
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b9eee0bb
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b9eee0bb
Branch: refs/heads/branch-2.2
Commit: b9eee0bbd3084338a30d6be06abf0f4dffd695ca
Parents: e4ac41d
Author: Owen O'Malley <om...@apache.org>
Authored: Tue May 16 11:04:44 2017 -0700
Committer: Owen O'Malley <om...@apache.org>
Committed: Tue May 16 11:18:25 2017 -0700
----------------------------------------------------------------------
orc/src/java/org/apache/orc/OrcFile.java | 10 +++++++++-
orc/src/test/org/apache/orc/TestVectorOrcFile.java | 7 +++++++
2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/b9eee0bb/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 ddfa9f7..06fb666 100644
--- a/orc/src/java/org/apache/orc/OrcFile.java
+++ b/orc/src/java/org/apache/orc/OrcFile.java
@@ -140,8 +140,16 @@ public class OrcFile {
}
}
+ /**
+ * Convert the integer from OrcProto.PostScript.writerVersion
+ * to the enumeration with unknown versions being mapped to FUTURE.
+ * @param val the serialized writer version
+ * @return the corresponding enumeration value
+ */
public static WriterVersion from(int val) {
- if (val == FUTURE.id) return FUTURE; // Special handling for the magic value.
+ if (val >= values.length) {
+ return FUTURE;
+ }
return values[val];
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/b9eee0bb/orc/src/test/org/apache/orc/TestVectorOrcFile.java
----------------------------------------------------------------------
diff --git a/orc/src/test/org/apache/orc/TestVectorOrcFile.java b/orc/src/test/org/apache/orc/TestVectorOrcFile.java
index 112edb9..73abf9e 100644
--- a/orc/src/test/org/apache/orc/TestVectorOrcFile.java
+++ b/orc/src/test/org/apache/orc/TestVectorOrcFile.java
@@ -2779,4 +2779,11 @@ public class TestVectorOrcFile {
rows.nextBatch(batch);
assertEquals(0, batch.size);
}
+
+ @Test
+ public void testWriterVersion() throws Exception {
+ assertEquals(OrcFile.WriterVersion.FUTURE, OrcFile.WriterVersion.from(99));
+ assertEquals(OrcFile.WriterVersion.ORIGINAL, OrcFile.WriterVersion.from(0));
+ assertEquals(OrcFile.WriterVersion.HIVE_4243, OrcFile.WriterVersion.from(2));
+ }
}