[ 
https://issues.apache.org/jira/browse/PHOENIX-1237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vaclav Loffelmann updated PHOENIX-1237:
---------------------------------------
    Attachment: PHOENIX-1237.fix.patch

I've edited Coalesce function as James suggested. I had to update test in 
ClientTimeArithmeticQueryIT.testCoalesceFunction. From my POV, it is fuzzy, 
that all tests use same table and some tests modify this table. I'd like to say 
it is hard to determine what really should in test table be.

> 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)

Reply via email to