Anton Gozhiy created DRILL-7429:
-----------------------------------

             Summary: Wrong column order when selecting complex data using Hive 
storage plugin.
                 Key: DRILL-7429
                 URL: https://issues.apache.org/jira/browse/DRILL-7429
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.16.0
            Reporter: Anton Gozhiy
         Attachments: customer_complex.zip

*Data:*
customer_complex.zip attached

*Query:*
{code:sql}
select t3.a, t3.b from (select t2.a, t2.a.o_lineitems[1].l_part.p_name b from 
(select t1.c_orders[0] a from hive.customer_complex t1) t2) t3 limit 1
{code}

*Expected result:*
Column order: a, b

*Actual result:*
Column order: b, a

*Physical plan:*
{noformat}
00-00    Screen
00-01      Project(a=[ROW($0, $1, $2, $3, $4, $5, $6, $7)], b=[$8])
00-02        Project(a=[ITEM($0, 0).o_orderstatus], a1=[ITEM($0, 
0).o_totalprice], a2=[ITEM($0, 0).o_orderdate], a3=[ITEM($0, 
0).o_orderpriority], a4=[ITEM($0, 0).o_clerk], a5=[ITEM($0, 0).o_shippriority], 
a6=[ITEM($0, 0).o_comment], a7=[ITEM($0, 0).o_lineitems], 
b=[ITEM(ITEM(ITEM(ITEM($0, 0).o_lineitems, 1), 'l_part'), 'p_name')])
00-03          Project(c_orders=[$0])
00-04            SelectionVectorRemover
00-05              Limit(fetch=[10])
00-06                Scan(table=[[hive, customer_complex]], 
groupscan=[HiveDrillNativeParquetScan [entries=[ReadEntryWithPath 
[path=/drill/customer_complex/000000_0]], numFiles=1, numRowGroups=1, 
columns=[`c_orders`[0].`o_orderstatus`, `c_orders`[0].`o_totalprice`, 
`c_orders`[0].`o_orderdate`, `c_orders`[0].`o_orderpriority`, 
`c_orders`[0].`o_clerk`, `c_orders`[0].`o_shippriority`, 
`c_orders`[0].`o_comment`, `c_orders`[0].`o_lineitems`, 
`c_orders`[0].`o_lineitems`[1].`l_part`.`p_name`]]])
{noformat}

*Note:* Reproduced with both Hive and Native readers. Non-reproducible with 
Parquet reader.



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

Reply via email to