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

Samarth Jain commented on PHOENIX-787:
--------------------------------------

[~naveenmadhire] - how about having a test like this:

{code}
long millis = 1000;
int nanos = 200;
Timestamp tsUpserted = DateUtil.getTimestamp(millis, nanosPart);
Upsert the above timestamp
Then doing a select CEIL(ts, 'SECOND') for the above upserted timestamp should 
return time as 2000 ms -> 1000 ms + ceil of (.0002) ms = 2000 ms.

Today it is returned as 1000 ms. 
{code}

> CEIL function may produce incorrect results for TIMESTAMP
> ---------------------------------------------------------
>
>                 Key: PHOENIX-787
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-787
>             Project: Phoenix
>          Issue Type: Task
>    Affects Versions: 3.0-Release
>            Reporter: James Taylor
>              Labels: Newbie
>
> In the CEIL function, we only consider nanos when the time unit of 
> MILLISECONDS is used. However, we should consider it for other time units as 
> well. For example, if the time unit is SECONDS and the TIMESTAMP value 
> happens to be at an exact multiple of 1000 milliseconds, then the CEIL should 
> round up, as their will be nano seconds remaining and thus the TIMESTAMP 
> should be rounded up to the next increment.



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

Reply via email to