You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Yash Sharma (JIRA)" <ji...@apache.org> on 2014/06/19 20:46:26 UTC
[jira] [Assigned] (DRILL-1019) decimal multiplication between
decimal9 and decimal38 place decimal point wrong
[ https://issues.apache.org/jira/browse/DRILL-1019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yash Sharma reassigned DRILL-1019:
----------------------------------
Assignee: Yash Sharma (was: Mehant Baid)
> decimal multiplication between decimal9 and decimal38 place decimal point wrong
> -------------------------------------------------------------------------------
>
> Key: DRILL-1019
> URL: https://issues.apache.org/jira/browse/DRILL-1019
> Project: Apache Drill
> Issue Type: Bug
> Components: Functions - Drill
> Reporter: Chun Chang
> Assignee: Yash Sharma
>
> #Wed Jun 18 10:27:23 PDT 2014
> git.commit.id.abbrev=894037a
> Multiplying decimal9 with decimal38 produce wrong result - decimal point position is placed wrong.
> postgres:
> foodmart=# select c_row, cast(c_decimal9 as decimal(9,5)), cast(c_decimal38 as decimal(38,18)), cast(c_decimal9 as decimal(9,5)) * cast(c_decimal38 as decimal(38,18)) from data where c_row > 8 and c_row < 14;
> c_row | c_decimal9 | c_decimal38 | ?column?
> -------+-------------+----------------------------------------+-----------------------------------------------
> 9 | -9876.54321 | 123456789.123456789000000000 | -1219326312345.67900112635269000000000
> 10 | 123.45000 | 999999999999999999.000000000000000000 | 123449999999999999876.55000000000000000000000
> 11 | -54.32100 | -999999999999999999.000000000000000000 | 54320999999999999945.67900000000000000000000
> 12 | 100.00600 | 0.000000000000000010 | 0.00000000000000100006000
> 13 | -1.00006 | -0.000000000000000010 | 0.00000000000000001000060
> (5 rows)
> Drill:
> 0: jdbc:drill:schema=dfs> select c_row, cast(c_decimal9 as decimal(9,5)), cast(c_decimal38 as decimal(38,18)), cast(c_decimal9 as decimal(9,5)) * cast(c_decimal38 as decimal(38,18)) from data where c_row > 8 and c_row < 14;
> +------------+------------+------------+------------+
> | c_row | EXPR$1 | EXPR$2 | EXPR$3 |
> +------------+------------+------------+------------+
> | 9 | -9876.54321 | 123456789.123456789000000000 | -1219326312345679001126.35269000000000 |
> | 10 | 123.45000 | 999999999999999999.000000000000000000 | 123449999999999999876550000000.00000000000000 |
> | 11 | -54.32100 | -999999999999999999.000000000000000000 | 54320999999999999945679000000.00000000000000 |
> | 12 | 100.00600 | 1.0E-17 | 0.00000100006000 |
> | 13 | -1.00006 | -1.0E-17 | 1.000060E-8 |
> +------------+------------+------------+------------+
> 5 rows selected (0.367 seconds)
--
This message was sent by Atlassian JIRA
(v6.2#6252)