hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prasanth Jayachandran (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-14333) ORC schema evolution from float to double changes precision and breaks filters
Date Thu, 28 Jul 2016 06:51:20 GMT

     [ 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)

Mime
View raw message