[
https://issues.apache.org/jira/browse/DRILL-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mehant Baid updated DRILL-2338:
-------------------------------
Attachment: DRILL-2338.patch
Minor patch to copy the scale and precision into the holder while doing a
get().
> DECIMAL 38 when stored as a required datatype results in wrong data
> -------------------------------------------------------------------
>
> Key: DRILL-2338
> URL: https://issues.apache.org/jira/browse/DRILL-2338
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - Parquet
> Affects Versions: 0.8.0
> Reporter: Ramana Inukonda Nagaraj
> Assignee: Mehant Baid
> Fix For: 0.8.0
>
> Attachments: DRILL-2338.patch
>
>
> Writing out a decimal 38 column by casting a literal results in a different
> value being written out.
> {code}
> 0: jdbc:drill:> create table mehant_bug as select cast('1.2' as
> decimal(38,2)) from cp.`employee.json` limit 1;
> 0: jdbc:drill:> select * from mehant_bug;
> +------------+
> | EXPR$0 |
> +------------+
> | 12000000.00 |
> +------------+
> 1 row selected (0.08 seconds)
> {code}
> [root@perfnode167 impala_parquet]#
> parquet-tools-1.5.1-SNAPSHOT/parquet-schema ../mehant_bug/0_0_0.parquet
> message root {
> required fixed_len_byte_array(16) EXPR$0 (DECIMAL(38,2));
> }
> If the column is stored as optional we do not have this issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)