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

Dumindu Buddhika commented on PHOENIX-777:
------------------------------------------

Hi [~kathir]
I have used following code to obtain above results,
{code}
Connection conn = DriverManager.getConnection(getUrl());
conn.createStatement().execute("CREATE TABLE t ( k VARCHAR PRIMARY KEY, a 
BIGINT[])");
conn.commit();
Object[] s = new Object[]{(long)1,(long)2,null};
PreparedStatement stmt = conn.prepareStatement("UPSERT INTO t VALUES('a',?)");
PhoenixArray array = (PhoenixArray) conn.createArrayOf("BIGINT", s);
stmt.setArray(1, array);
stmt.execute();
conn.commit();
{code}

Seems it gives an exception when nulls are directly used in the SQL.

> Support null value for fixed length ARRAY
> -----------------------------------------
>
>                 Key: PHOENIX-777
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-777
>             Project: Phoenix
>          Issue Type: Task
>            Reporter: James Taylor
>            Assignee: Dumindu Buddhika
>
> A null value for a fixed length array can be handled with a bitset tacked on 
> the end of the array. If an element is set to null, then the bit at that 
> index is set. Trailing nulls are not stored and an attempt to access an array 
> past the current size returns null.
> Current behavior,
> PBinaryArray - Throws an exception when a null is inserted.
> PBooleanArray - null is considered as false when a null is inserted.
> PCharArray - Throws an exception when a null is inserted.
> PDateArray - Throws an exception when a null is inserted.
> PDoubleArray - null is considered as 0.0 when a null is inserted.
> PFloatArray - null is considered as 0.0 when a null is inserted.
> PIntegerArray - null is considered as 0 when a null is inserted.
> PLongArray - null is considered as 0 when a null is inserted.
> PSmallIntArray - null is considered as 0 when a null is inserted.
> PTimeArray - Throws an exception when a null is inserted.
> PTimeStampArray - Throws an exception when a null is inserted.
> PTinyIntArray - null is considered as 0 when a null is inserted.



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

Reply via email to