phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dumindu Buddhika (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-777) Support null value for fixed length ARRAY
Date Wed, 13 May 2015 14:08:59 GMT

    [ 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)

Mime
View raw message