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)