[ https://issues.apache.org/jira/browse/HIVE-24886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesus Camacho Rodriguez resolved HIVE-24886. -------------------------------------------- Fix Version/s: 4.0.0 Resolution: Fixed Pushed to master, thanks [~zabetak]! > Support simple equality operations between MAP/LIST/STRUCT data types > --------------------------------------------------------------------- > > Key: HIVE-24886 > URL: https://issues.apache.org/jira/browse/HIVE-24886 > Project: Hive > Issue Type: New Feature > Components: Query Planning, Query Processor > Reporter: Stamatis Zampetakis > Assignee: Stamatis Zampetakis > Priority: Major > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Currently equality operations between non primitive data types (MAP, LIST, > STRUCT) work in some very limited cases e.g: > {code:sql} > create table table_map_types (id int, c1 map<int,int>, c2 map<int,int>); > select id from table_map_types where map(1,1) IN (map(1,1), map(1,2), > map(1,3)); > {code} > but this feature was never introduced explicitly (zero tests & JIRAs around > the subject) and the vast majority of queries involving comparisons between > non primitive data types now fail at compile time. > The goal of this issue is to support simple equality operations: > * EQUALS(=) > * NOT_EQUALS(<>), > * IN, > * IS DISTINCT FROM, > * IS NOT DISTINCT FROM > between MAP/LIST/STRUCT data types when the compared types are identical > (same type category and identical component types). The following examples > illustrate the idea of types being identical: > {noformat} > MAP<INT,INT> EQUALS MAP<INT,INT> OK > MAP<INT,INT> EQUALS MAP<BIGINT,INT> KO > STRUCT<INT,INT> EQUALS STRUCT<INT, INT> KO > STRUCT<INT,INT> EQUALS STRUCT<INT, BIGINT> OK > LIST<INT> EQUALS LIST<INT> OK > LIST<INT> EQUALS LIST<BIGINT> KO > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)