[
https://issues.apache.org/jira/browse/HIVE-10591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Szehon Ho updated HIVE-10591:
-----------------------------
Attachment: HIVE-10591.2.patch
Attaching again due to build machine error.
> Support limited integer type promotion in ORC
> ---------------------------------------------
>
> Key: HIVE-10591
> URL: https://issues.apache.org/jira/browse/HIVE-10591
> Project: Hive
> Issue Type: New Feature
> Affects Versions: 1.3.0
> Reporter: Prasanth Jayachandran
> Assignee: Prasanth Jayachandran
> Attachments: HIVE-10591.1.patch, HIVE-10591.2.patch,
> HIVE-10591.2.patch
>
>
> ORC currently does not support schema-on-read. If we alter an ORC table with
> 'int' type to 'bigint' and if we query the altered table ClassCastException
> will be thrown as the schema on read from table descriptor will expect
> LongWritable whereas ORC will return IntWritable based on file schema stored
> within ORC file. OrcSerde currently doesn't do any type conversions or type
> promotions for performance reasons in inner loop. Since smallints, ints and
> bigints are stored in the same way in ORC, it will be possible be allow such
> type promotions without hurting performance. Following type promotions can be
> supported without any casting
> smallint -> int
> smallint -> bigint
> int -> bigint
> Tinyint promotion is not possible without casting as tinyints are stored
> using RLE byte writer whereas smallints, ints and bigints are stored using
> RLE integer writer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)