[ https://issues.apache.org/jira/browse/DRILL-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Volodymyr Vysotskyi resolved DRILL-2101. ---------------------------------------- Resolution: Fixed Fixed in the scope of DRILL-6094 > Decimal literals are treated as double > -------------------------------------- > > Key: DRILL-2101 > URL: https://issues.apache.org/jira/browse/DRILL-2101 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Data Types > Affects Versions: 0.8.0 > Reporter: Victoria Markman > Assignee: Volodymyr Vysotskyi > Priority: Major > Labels: decimal > Fix For: Future > > Attachments: DRILL-2101-PARTIAL-PATCH-enable-decimal-literals.patch, > DRILL-2101.patch > > > {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 (v7.6.3#76005)