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

Igor Guzenko updated DRILL-7387:
--------------------------------
    Component/s: Execution - Codegen

> Failed to get value by int key from map nested into struct
> ----------------------------------------------------------
>
>                 Key: DRILL-7387
>                 URL: https://issues.apache.org/jira/browse/DRILL-7387
>             Project: Apache Drill
>          Issue Type: Sub-task
>          Components: Execution - Codegen
>            Reporter: Igor Guzenko
>            Assignee: Igor Guzenko
>            Priority: Major
>
> Such test method in TestHiveStructs.java:
> {code:java}
>   @Test
>   public void structWithMapByIntKey() throws Exception {
>     testBuilder()
>         .sqlQuery("SELECT rid, t.str_map.m[1] bk FROM hive.struct_tbl_p t")
>         .unOrdered()
>         .baselineColumns("rid", "bk")
>         .baselineValues(1, 0)
>         .baselineValues(2, 3)
>         .baselineValues(3, 4)
>         .go();
>   }
> {code}
> is failing with exception: 
> {code}
> java.lang.IllegalArgumentException: You tried to read a [RepeatedInt] type 
> when you are using a field reader of type [SingleDictReaderImpl].
>       at 
> org.apache.drill.exec.vector.complex.impl.AbstractFieldReader.fail(AbstractFieldReader.java:989)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.vector.complex.impl.AbstractFieldReader.read(AbstractFieldReader.java:399)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.test.generated.ProjectorGen1.doEval(ProjectorTemplate.java:28)
>  ~[na:na]
>       at 
> org.apache.drill.exec.test.generated.ProjectorGen1.projectRecords(ProjectorTemplate.java:67)
>  ~[na:na]
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.doWork(ProjectRecordBatch.java:229)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:117)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:141)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:186)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:237)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:104) 
> ~[classes/:na]
>       at 
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:83)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:94) 
> ~[classes/:na]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:296)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:283)
>  ~[classes/:na]
>       at .......(:0) ~[na:na]
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1746)
>  ~[hadoop-common-2.7.4.jar:na]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:283)
>  ~[classes/:na]
>       at 
> org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
>  ~[classes/:na]
>       at .......(:0) ~[na:na]
> {code}



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

Reply via email to