[ 
https://issues.apache.org/jira/browse/DRILL-1216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14088785#comment-14088785
 ] 

Jacques Nadeau commented on DRILL-1216:
---------------------------------------

Resolved by 8c66525 or earlier.

> Decimal multiplication breaks when the precision exceeds 38 even when the 
> actual data is small
> ----------------------------------------------------------------------------------------------
>
>                 Key: DRILL-1216
>                 URL: https://issues.apache.org/jira/browse/DRILL-1216
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Data Types
>            Reporter: Rahul Challapalli
>             Fix For: 0.5.0
>
>         Attachments: DRILL-1216.patch
>
>
> git.commit.id.abbrev=caa8b78
> Input File Contents :
> {code}
> 111.11|222.22|333.33
> 444.44|555.55|666.66
> 777.77|888.88|999.99
> {code}
> The below SQL query gives inaccurate results since the precision of the 
> multiplication is 39 (>38):
> {code}
> select cast(columns[0] as decimal(15,2)) * cast(columns[1] as decimal(15,2)) 
> * cast(columns[2] as decimal(15,2)) val from `decimal_scale.tbl`;
> +------------+
> |     val      |
> +------------+
> | 1000000000 |
> | 0          |
> | 0          |
> +------------+
> {code}
> However the below SQL query succeeds :
> {code}
>  select cast(columns[0] as decimal(5,2)) * cast(columns[1] as decimal(5,2)) * 
> cast(columns[2] as decimal(5,2)) val from `decimal_scale.tbl`;
> +------------+
> |     val      |
> +------------+
> | 8230205.763786 |
> | 164604115.275720 |
> | 691337284.158024 |
> +------------+
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to