[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Resolution: Fixed Fix Version/s: 0.13.0 Status: Resolved (was: Patch Available) Committed to trunk > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson >Assignee: Eric Hanson > Fix For: 0.13.0 > > Attachments: HIVE-6243.01.patch, HIVE-6243.02.patch, > divide-error.01.patch > > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Attachment: HIVE-6243.02.patch Fixed compile error > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson >Assignee: Eric Hanson > Attachments: HIVE-6243.01.patch, HIVE-6243.02.patch, > divide-error.01.patch > > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Assignee: Eric Hanson Status: Patch Available (was: Open) > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson >Assignee: Eric Hanson > Attachments: HIVE-6243.01.patch, divide-error.01.patch > > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Attachment: HIVE-6243.01.patch Modified Decimal128.divideDestructive to use HiveDecimal division. This is slow but fixes the bug in the existing divide method. It also provides the same rounding behavior has HiveDecimal for consistency between row-mode and vectorized execution. At some point in the future, another JIRA can be done to both fix the divide error in the original Decimal128.divideDestructive() and make it use the same rounding behavior as the current HiveDecimal. > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson > Attachments: HIVE-6243.01.patch, divide-error.01.patch > > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Attachment: divide-error.01.patch Run TestDecimal128.testKnownPriorErrors() to exhibit the bug. Stepping through the code shows that a * b gives the correct value, but then dividing that by a again does not give the expected result. So, the bug is in the division method divideDestructive(); > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson > Attachments: divide-error.01.patch > > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (HIVE-6243) error in high-precision division for Decimal128
[ https://issues.apache.org/jira/browse/HIVE-6243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Hanson updated HIVE-6243: -- Description: a = 213474114411690 b = 5062120663 a * b = 1080631725579042037750470 (a * b) / b ==> actual: 251599050984618 expected: 213474114411690 was: a = 213474114411690 b = 5062120663 a * b = 1080631725579042037750470 (a * b) / a ==> actual: 251599050984618 expected: 213474114411690 > error in high-precision division for Decimal128 > --- > > Key: HIVE-6243 > URL: https://issues.apache.org/jira/browse/HIVE-6243 > Project: Hive > Issue Type: Sub-task >Reporter: Eric Hanson > > a = 213474114411690 > b = 5062120663 > a * b = 1080631725579042037750470 > (a * b) / b ==> > actual: 251599050984618 > expected: 213474114411690 -- This message was sent by Atlassian JIRA (v6.1.5#6160)