You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jesus Camacho Rodriguez (Jira)" <ji...@apache.org> on 2021/03/30 23:19:00 UTC

[jira] [Resolved] (HIVE-24886) Support simple equality operations between MAP/LIST/STRUCT data types

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