phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vaclav Loffelmann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-1237) COALESCE Function - type of second parameter
Date Mon, 15 Sep 2014 19:40:33 GMT

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

Vaclav Loffelmann commented on PHOENIX-1237:
--------------------------------------------

Thank for review [~jamestaylor]. I've updated evaluating logic and add test for expression
in second parameter (will upload after resolving all issues). But there is situation with
validation if second parameter is actually coercible to first one. Because of 
{code}
PDataType.INTEGER.isCoercibleTo(PDataType.UNSIGNED_INT) // is false
{code}
Should I change definitions for isCoercibleTo methods in PDataType? Or is there a better solution?
Thanks

> COALESCE Function - type of second parameter
> --------------------------------------------
>
>                 Key: PHOENIX-1237
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1237
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 5.0.0, 3.1, 4.1
>            Reporter: Vaclav Loffelmann
>            Assignee: Vaclav Loffelmann
>         Attachments: PHOENIX-1237.fix.patch, PHOENIX_1237.patch
>
>
> There is an issue with automatic set data type of second parameter to coalesce function.
> For instance table:
> {code:sql}
> CREATE TABLE IF NOT EXISTS TEST_COALESCE(
> ID BIGINT NOT NULL,
> COUNT UNSIGNED_INT
> CONSTRAINT pk PRIMARY KEY(ID));
> {code}
> and query:
> {code:sql}
> SELECT COALESCE(SUM(COUNT), 0) FROM TEST_SUM GROUP BY ID;
> {code}
> This will cause in:
> {quote}SQLException: ERROR 507 (42846): Cannot convert type. COALESCE expected UNSIGNED_INT,
but got INTEGER {quote}
> Hence second parameter is typed to its input value (eg. 0 is signed int not long), and
long is expected. That is cause for ArrayIndexOutOfBoundsException described in PHOENIX-1229.



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

Mime
View raw message