[ https://issues.apache.org/jira/browse/DRILL-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Victoria Markman reassigned DRILL-2101: --------------------------------------- Assignee: Mehant Baid > Incorrect data type is written to parquet file when NULL is cast to decimal > --------------------------------------------------------------------------- > > Key: DRILL-2101 > URL: https://issues.apache.org/jira/browse/DRILL-2101 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 0.8.0 > Reporter: Victoria Markman > Assignee: Mehant Baid > Priority: Critical > > {code} > create table t1(c1) as > select > cast(null as decimal(28,4)) > from `t1.csv`; > message root { > optional double c1; <-- Wrong, should be decimal > } > {code} > This is very commonly used construct to convert csv files to parquet files, > that's why I'm marking this bug as critical. > {code} > create table t2 as > select > case when columns[3] = '' then cast(null as decimal(28,4)) else > cast(columns[3] as decimal(28, 4)) end > from `t1.csv`; > {code} > Correct - cast string literal to decimal > {code} > create table t3(c1) as > select > cast('12345678901234567890.1234' as decimal(28,4)) > from `t1.csv`; > message root { > required fixed_len_byte_array(12) c1 (DECIMAL(28,4)); > } > {code} > Correct - cast literal from csv file as decimal > {code} > create table t4(c1) as > select > cast(columns[3] as decimal(28,4)) > from `t1.csv`; > message root { > optional fixed_len_byte_array(12) c1 (DECIMAL(28,4)); > } > {code} > Correct - case statement (no null involved) > {code} > create table t5(c1) as > select > case when columns[3] = '' then cast('1111' as decimal(28,4)) else > cast(columns[3] as decimal(28,4)) end > from `t1.csv`; > message root { > optional fixed_len_byte_array(12) c1 (DECIMAL(28,4)); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)