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

Samarth Jain commented on PHOENIX-1705:
---------------------------------------

[~Dumindux] - looking good. Here is some feedback:

1) Rename isCastable to coercionNeeded or something like that. 
2) You would need to serialize isCastable so that it could be read on server 
side. See RoundDateExpression#readFields and #write methods for an example. 
Currently you are reading the default value of isCastable. 
3) Add tests that would trigger the coercion code. For example - Adding integer 
to a string of varchars. 
4) Add tests that invoke array_append in UPSERT and UPSERT SELECT statements.
5) Tests that calls some in-built function on the element being added. For ex - 
SELECT ARRAY_APPEND(INTEGERARRAY, ROUND(1.23)) FROM T
6) Remove the try catch here as the coerceBytes method isn't throwing any 
checked exception.
{code}
if(this.isCastable){
+            try {
+                
baseType.coerceBytes(ptr,elementExpr.getDataType(),elementExpr.getSortOrder(),arrayExpr.getSortOrder(),getMaxLength());
+            }
+            catch (Exception e){
+                return false;
+            }
+        }
{code}

 

> implement ARRAY_APPEND built in function
> ----------------------------------------
>
>                 Key: PHOENIX-1705
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1705
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Dumindu Buddhika
>            Assignee: Dumindu Buddhika
>         Attachments: 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function1.patch
>
>




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

Reply via email to