[ https://issues.apache.org/jira/browse/PHOENIX-1949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ramkrishna.s.vasudevan updated PHOENIX-1949: -------------------------------------------- Attachment: Phoenix-1949.patch [~giacomotay...@gmail.com] Ran all the tests with Arrays, all seems to pass. What do you think? > NPE while inserting NULL in a VARCHAR array using UPSERT stmt > ------------------------------------------------------------- > > Key: PHOENIX-1949 > URL: https://issues.apache.org/jira/browse/PHOENIX-1949 > Project: Phoenix > Issue Type: Bug > Reporter: ramkrishna.s.vasudevan > Assignee: ramkrishna.s.vasudevan > Fix For: 4.4.0 > > Attachments: Phoenix-1949.patch > > > With reference to the mail in user list there is an NPE when upserting NULL > in an VARCHAR array as reported by Kathir > {code} > Is it possible to insert null elements in an array type column? > CREATE TABLE ARRAYTEST124 (ID VARCHAR, NAME VARCHAR ARRAY CONSTRAINT PK > PRIMARY KEY(ID)) > UPSERT INTO ARRAYTEST124 (ID, NAME) VALUES('123',ARRAY['ABC','XYZ',null]) > UPSERT INTO ARRAYTEST124 (ID, NAME) VALUES('123',ARRAY['ABC',null,'XYZ']) > UPSERT INTO ARRAYTEST124 (ID, NAME) VALUES('123',ARRAY[null,'ABC','XYZ']) > I'm using phoenix 4.4.0-HBase-0.98-rc0 > I'm getting a null pointer exception, while trying to do the above upserts > java.lang.NullPointerException > at > org.apache.phoenix.schema.types.PVarchar.toObject(PVarchar.java:62) > at > org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:979) > at > org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:992) > at > org.apache.phoenix.compile.ExpressionCompiler.visitLeave(ExpressionCompiler.java:1275) > at > org.apache.phoenix.compile.ExpressionCompiler.visitLeave(ExpressionCompiler.java:142) > at > org.apache.phoenix.parse.ArrayConstructorNode.accept(ArrayConstructorNode.java:43) > at > org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:733) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:525) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:513) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:299) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:292) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:290) > at > org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:222) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:173) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:178) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)