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

Sergey Soldatov commented on PHOENIX-2536:
------------------------------------------

It's not clear what to do if one operand is exact numeric and second is 
approximate numeric. 
So, if we add integer and float. Checked with mysql - the result is double. And 
it seems reasonable. 
[~kliew], [~elserj] any thoughts?  

> Return of aggregation functions do not have the correct data type and 
> precision
> -------------------------------------------------------------------------------
>
>                 Key: PHOENIX-2536
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2536
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.6.0
>            Reporter: Kevin Liew
>            Assignee: Sergey Soldatov
>              Labels: function, phoenix
>             Fix For: 4.8.0
>
>
> ANSI SQL specifies that 
> {quote}If SUM is specified and DT is exact numeric with scale
>               S, then the data type of the result is exact numeric with
>               implementation-defined precision and scale S.
> ...
> If DT is approximate numeric, then the data type of the
>               result is approximate numeric with implementation-defined
>               precision not less than the precision of DT.{quote}
> However, when summing integer types (first operand) with float or double 
> (second operand), Phoenix returns the value with the same data type as the 
> first operand. 
> Doing a sum with the first operand being a FLOAT or DOUBLE will return a 
> DECIMAL with a fixed scale of 4. 
> Doing any multiplication or division will also result in a DECIMAL with scale 
> 4.
> In all of the cases outlined above, the return data type does not meet the 
> ANSI standard.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to