[ 
https://issues.apache.org/jira/browse/HIVE-12941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15139137#comment-15139137
 ] 

Aihua Xu commented on HIVE-12941:
---------------------------------

The patch in general looks good. I would suggest to use a enum {Min, Max} to 
treat NULL as Min or Max in comparison instead of a boolean.





> Unexpected result when using MIN() on struct with NULL in first field
> ---------------------------------------------------------------------
>
>                 Key: HIVE-12941
>                 URL: https://issues.apache.org/jira/browse/HIVE-12941
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>    Affects Versions: 1.1.0
>            Reporter: Jan-Erik Hedbom
>            Assignee: Yongzhi Chen
>         Attachments: HIVE-12941.1.patch, HIVE-12941.2.patch
>
>
> Using MIN() on struct with NULL in first field of a row yields NULL as result.
> Example:
> select min(a) FROM (select 1 as a union all select 2 as a union all select 
> cast(null as int) as a) tmp;
> OK
> _c0
> 1
> As expected. But if we wrap it in a struct:
> select min(a) FROM (select named_struct("field",1) as a union all select 
> named_struct("field",2) as a union all select named_struct("field",cast(null 
> as int)) as a) tmp;
> OK
> _c0
> NULL
> Using MAX() works as expected for structs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to