You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Chinmay Kulkarni (Jira)" <ji...@apache.org> on 2019/12/21 00:57:08 UTC

[jira] [Closed] (PHOENIX-4791) Array elements are nullified with joins

     [ https://issues.apache.org/jira/browse/PHOENIX-4791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chinmay Kulkarni closed PHOENIX-4791.
-------------------------------------

Bulk closing Jiras for the 4.15.0 release.

> Array elements are nullified with joins
> ---------------------------------------
>
>                 Key: PHOENIX-4791
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4791
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.11.0, 4.12.0, 4.13.0, 4.14.0, 5.0.0
>            Reporter: Tulasi P
>            Assignee: Gerald Sangudi
>            Priority: Major
>             Fix For: 4.15.0, 5.1.0
>
>         Attachments: PHOENIX-4791.patch
>
>
> Returning elements of an array from a table that is part of a join causes array elements to be nullified.
> {noformat}
> create table array_test_1 (id integer not null primary key, arr tinyint[5]); 
> upsert into array_test_1 values (1001, array[0, 0, 0, 0, 0]); 
> upsert into array_test_1 values (1002, array[0, 0, 0, 0, 1]); 
> upsert into array_test_1 values (1003, array[0, 0, 0, 1, 1]); 
> upsert into array_test_1 values (1004, array[0, 0, 1, 1, 1]); 
> upsert into array_test_1 values (1005, array[1, 1, 1, 1, 1]);
> {noformat}
>  
> {noformat}
> create table test_table_1 (id integer not null primary key, val varchar); 
> upsert into test_table_1 values (1001, 'abc'); 
> upsert into test_table_1 values (1002, 'def'); 
> upsert into test_table_1 values (1003, 'ghi');{noformat}
> {noformat}
> 0: jdbc:phoenix:localhost> select t1.id, t2.val, t1.arr[1], t1.arr[2], t1.arr[3] from array_test_1 as t1 join test_table_1 as t2 on t1.id = t2.id; 
> +--------+---------+---------+------------------------+---------------+ 
> | T1.ID  | T2.VAL  | ARRAY_ELEM(T1.ARR, 1)  | ARRAY_ELEM(T1.ARR, 2)  | ARRAY_ELEM(T1.ARR, 3)  | 
> +--------+---------+---------+-----------------+------------------------+ 
> | 1001   | abc     | null  | null | null | 
> | 1002   | def     | null   | null | null |
>  | 1003   | ghi     | null  | null | null |
>  +--------+---------+--------+------------------------+-----------------+ 
> 3 rows selected (0.056 seconds)
> {noformat}
> However, directly selecting array elements from the array returns data correctly.
> {noformat}
> 0: jdbc:phoenix:localhost> select [t1.id, t1.arr[1], t1.arr[2], t1.arr[3] from array_test_1 as t1;
> +-------+--------+-------------+-------------+
> |  ID   | ARRAY_ELEM(ARR, 1)  | ARRAY_ELEM(ARR, 2)  | ARRAY_ELEM(ARR, 3)  |
> +-------+--------+-------------+-------------+
> | 1001  | 0 | 0 | 0 |
> | 1002  | 0 | 0 | 0 |
> | 1003  | 0 | 0 | 0 |
> | 1004  | 0 | 0 | 1 |
> | 1005  | 1 | 1 | 1 |
> +-------+-------+--------------+--------------+
> 5 rows selected (0.044 seconds)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)