You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2022/11/21 12:42:00 UTC

[jira] [Commented] (PHOENIX-6823) calling Joda-based round() function on temporal PK field causes division by zero error

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

Istvan Toth commented on PHOENIX-6823:
--------------------------------------

Generally, the PK pushdown feature for temporal rounding functions is totally broken, and needs to be rewritten.

> calling Joda-based round() function on temporal PK field causes division by zero error
> --------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6823
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6823
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>            Reporter: Istvan Toth
>            Assignee: Istvan Toth
>            Priority: Major
>
>  
> {noformat}
> 0: jdbc:phoenix:> create table bubu (df date primary key);
> No rows affected (0.689 seconds)
> 0: jdbc:phoenix:> select * from bubu where round(df,'YEAR',1)=DATE '2022-01-01 00:00:00';
> java.lang.ArithmeticException: / by zero
>     at org.apache.phoenix.expression.function.RoundDateExpression$1.getKeyRange(RoundDateExpression.java:272)
> ...{noformat}
> This is caused by getKeyRange not being updated when the Joda-based time units were added.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)