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