[
https://issues.apache.org/jira/browse/HIVE-14333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Prasanth Jayachandran updated HIVE-14333:
-----------------------------------------
Resolution: Fixed
Fix Version/s: 2.2.0
Status: Resolved (was: Patch Available)
Test failures are unrelated. Committed to master.
> ORC schema evolution from float to double changes precision and breaks filters
> ------------------------------------------------------------------------------
>
> Key: HIVE-14333
> URL: https://issues.apache.org/jira/browse/HIVE-14333
> Project: Hive
> Issue Type: Bug
> Components: ORC
> Affects Versions: 2.1.0, 2.2.0
> Reporter: Prasanth Jayachandran
> Assignee: Prasanth Jayachandran
> Priority: Critical
> Fix For: 2.2.0
>
> Attachments: HIVE-14333.1.patch, HIVE-14333.2.patch,
> HIVE-14333.3.patch
>
>
> ORC vs text schema evolution from float to double changes precision
> {code:title=Text Schema Evolution}
> hive> create table float_text(f float);
> hive> insert into float_text values(74.72);
> hive> select f from float_text;
> OK
> 74.72
> hive> alter table float_text change column f f double;
> hive> select f from float_text;
> OK
> 74.72
> {code}
> {code:title=Orc Schema Evolution}
> hive> create table float_orc(f float) stored as orc;
> hive> insert into float_orc values(74.72);
> hive> select f from float_orc;
> OK
> 74.72
> hive> alter table float_orc change column f f double;
> hive> select f from float_orc;
> OK
> 74.72000122070312
> {code}
> This will break all filters on the evolved column "f"
> {code:title=Filter returning no results}
> hive> set hive.optimize.index.filter=false;
> hive> select f from float_orc where f=74.72;
> OK
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)