You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Taras Bobrovytsky (JIRA)" <ji...@apache.org> on 2017/10/05 06:08:00 UTC
[jira] [Resolved] (IMPALA-4940) DECIMAL V2 multiply result type
[ https://issues.apache.org/jira/browse/IMPALA-4940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Taras Bobrovytsky resolved IMPALA-4940.
---------------------------------------
Resolution: Fixed
{code}
commit 6259641077250dcd3360e2e6c2bf9023b201d858
Author: Taras Bobrovytsky <tb...@cloudera.com>
Date: Thu Jul 6 10:43:34 2017 -0700
IMPALA-4939, IMPALA-4940: Decimal V2 multiplication
Implement the new DECIMAL return type rules for multiply expressions,
active when query option DECIMAL_V2=1. The algorithm for determining
the type of the result of multiplication is described in the JIRA.
{code}
> DECIMAL V2 multiply result type
> -------------------------------
>
> Key: IMPALA-4940
> URL: https://issues.apache.org/jira/browse/IMPALA-4940
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 2.9.0
> Reporter: Dan Hecht
> Assignee: Taras Bobrovytsky
>
> Similar to IMPALA-4370 but for multiply. Impala's current multiply result type is:
> {code}
> rP = P1 + P2
> rS = S1 + S2
> If (rP > 38) then
> rP = 38
> rS = min(38, rS)
> {code}
> The proposed result type under V2 is:
> {code}
> rP = P1 + P2 + 1
> rS = S1 + S2
> // createAdjustedDecimalType()
> If (rP > 38) then
> minS = min(rS, 6)
> rS = rS - (rP - 38)
> rS = max(minS, rS)
> rP = 38
> {code}
> However, in order for this to be useful, we need to fix IMPALA-4939. Otherwise, we can't actually compute values that need the new result type anyway.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)