[ https://issues.apache.org/jira/browse/DRILL-7373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arina Ielchiieva updated DRILL-7373: ------------------------------------ Reviewer: Igor Guzenko > Fix problems involving reading from DICT type > --------------------------------------------- > > Key: DRILL-7373 > URL: https://issues.apache.org/jira/browse/DRILL-7373 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 1.17.0 > Reporter: Bohdan Kazydub > Assignee: Bohdan Kazydub > Priority: Major > Fix For: 1.17.0 > > > Add better support for different key types ({{boolean}}, {{decimal}}, > {{float}}, {{double}} etc.) when retrieving values by key from {{DICT}} > column when querying data source with known (during query validation phase) > field types (such as Hive table), so that actual key object instance is > created in generated code and is passed to given {{DICT}} reader instead of > generating its value for every row based on {{int}} ({{ArraySegment}}) or > {{String}} ({{NamedSegment}}) value. > This may be achieved by storing original literal value of passed key (as > {{Object}}) in {{PathSegment}} and its type (as {{MajorType}}) and using it > during code generation when reading {{DICT}}'s values by key in > {{EvaluationVisitor}}. > Also, fix NPE when reading some cases involving reading values from {{DICT}} > and fix wrong result when reading complex structures using many ITEM > operators (i.e. , [] brackets), e.g. > {code} > SELECT rid, mc.map_arr_map['key01'][1]['key01.1'] p16 FROM > hive.map_complex_tbl mc > {code} > where {{map_arr_map}} is of following type: {{MAP<STRING, ARRAY<MAP<STRING, > INT>>>}} -- This message was sent by Atlassian Jira (v8.3.2#803003)