Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-4791

Array elements are nullified with joins

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.11.0, 4.12.0, 4.13.0, 4.14.0, 5.0.0
    • 4.15.0, 5.1.0
    • None
    • None

    Description

      Returning elements of an array from a table that is part of a join causes array elements to be nullified.

      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]);
      

       

      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');
      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)
      

      However, directly selecting array elements from the array returns data correctly.

      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)
      

      Attachments

        1. PHOENIX-4791.patch
          18 kB
          Gerald Sangudi

        Issue Links

          Activity

            People

              sangudi Gerald Sangudi
              tulasip Tulasi P
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: