[ https://issues.apache.org/jira/browse/PHOENIX-1705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14369294#comment-14369294 ]
ramkrishna.s.vasudevan commented on PHOENIX-1705: ------------------------------------------------- [~Dumindux] Thanks for working on this. Great work !!!. Few comments {code} PDataType baseType=PDataType.fromTypeId(children.get(0).getDataType().getSqlType() + - PDataType.ARRAY_TYPE_BASE); + PDataType elementDataType=children.get(1).getDataType(); + {code} The baseType and elementDataType can be made instance level? So that you need not use them in evaluate once again. Here, {code} public static boolean appendItemToArray(Tuple tuple, ImmutableBytesWritable ptr, + Expression arrayExpr, byte[] elementBytes, int elementOffset, int elementLength, PDataType baseType, Integer maxLen){ {code} You can only pass the ptrElement only here instead of elementBytes, elementOffset, elementLength. The coercsion() checks looks fine. I need to review the !fixedWidth part once again. As we don't handle trailing nulls I think appending would involve changing the last element seperator bytes only. So it would also involve change in the offset array and the number of elements that we add. Will check that part once again. > 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_function2.patch, > PHOENIX-1705_implement_ARRAY_APPEND_built_in_function3.patch, > PHOENIX-1705_implement_ARRAY_APPEND_built_in_function4.patch > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)