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

Dumindu Buddhika edited comment on PHOENIX-1705 at 4/3/15 3:24 AM:
-------------------------------------------------------------------

Thanks for the suggestions [~jamestaylor],

For the first case, actually element comes as FixedWidth(it comes as an 
Integer). So adding getElementExpr().getDataType().isFixedWidth() condition did 
not work since the elementType is "integer" and maxLength returns a 10. That is 
the problem. Can you think why this happens?

For the second case, when ARRAY_APPEND(null,null), getArrayExpr().getDataType() 
returns null . But since null values are allowed for element,
{code} @FunctionParseNode.Argument(allowedTypes = 
{PVarbinary.class},defaultValue = "null")}{code}
getElementExpr().getDataType() returns "PVarBinary". So 
{code}ARRAY_APPEND(ARRAY[2,3],null){code} still fails at constructor(coercion 
check. Here  we have to return the input array itself).  how should I go about 
this? 


was (Author: dumindux):
Thanks for the suggestions [~jamestaylor],

For the first case, actually element comes as FixedWidth(it comes as an 
Integer). So adding getElementExpr().getDataType().isFixedWidth() condition did 
not work since the elementType is "integer" and maxLength returns a 10. That is 
the problem. Can you think why this happens?

For the second case, when ARRAY_APPEND(null,null), getArrayExpr().getDataType() 
returns null . But since null values are allowed for element,
{code} @FunctionParseNode.Argument(allowedTypes = 
{PVarbinary.class},defaultValue = "null")}{code}
getElementExpr().getDataType() returns "PVarBinary". So 
{code}ARRAY_APPEND(ARRAY[2,3],null){code} still fails at constructor(coercion 
check. Here  we have to return the input array itself).  how should I go about 
this? Having !getElementExpr().isNullable() in the coercion check condition 
solves the problem. Is it ok to do so?

> 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, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function10.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function2.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function3.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function4.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function5.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function6.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function7.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function8.patch, 
> PHOENIX-1705_implement_ARRAY_APPEND_built_in_function9.patch
>
>




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

Reply via email to