You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Aihua Xu (JIRA)" <ji...@apache.org> on 2017/07/17 17:12:00 UTC

[jira] [Commented] (HIVE-17103) HIVE-14251 severely impacts backward compatibility of UNION ALL queries

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

Aihua Xu commented on HIVE-17103:
---------------------------------

[~jdere] we were trying to bring the behavior close to the SQL standard when we try to address the issue of HIVE-14251. Personally I prefer to bring correctness since we will benefit from it over the time.

Of course I still remember the conversion of int and timestamp and we had to add the configuration  hive.int.timestamp.conversion.in.seconds to address the backward compatibility. 

If we want address backward compatibility, maybe we can do the same?

> HIVE-14251 severely impacts backward compatibility of UNION ALL queries
> -----------------------------------------------------------------------
>
>                 Key: HIVE-17103
>                 URL: https://issues.apache.org/jira/browse/HIVE-17103
>             Project: Hive
>          Issue Type: Bug
>          Components: Types
>    Affects Versions: 2.2.0
>            Reporter: Jason Dere
>
> HIVE-14251 looks like it changed behavior of type conversion during UNION ALL queries, where types that are of different primitive groups (date, string, numeric, binary, boolean) cannot be unioned together with implicit conversions, and requires an explicit type cast to the desired type.
> That HIVE-14251 breaks backward compatibility is spelled out in the release notes. However I'm wondering if this was the right fix - this has quite a big impact on the usability of UNION ALL.
> Some alternative suggestions:
> 1. Should we have simply not fixed HIVE-14251? While almost all DBMSs recommend users to use explicit casts, a lot of people just rely on implicit casting (if supported), and then do explicit casting if they want something other than the default behavior. This might have been one of the times the user would want to use explicit casts to override the default Hive behavior.
> 2. Try to specifically fix the case for HIVE-14251 (union behavior of date, numeric). I was actually surprised union of date and numeric values worked, because when I originally did DATE type I tried to make sure DATE was not convertible to anything except string/timestamp. For example I don't think you can actually explicitly cast DATE to INT. We could try to make this particular implicit union conversion invalid (as well as any others we feel may not ).
> cc [~aihuaxu] [~mohitsabharwal] [~ctang.ma] [~ashutoshc] [~aravindgopal] [~sershe] as these are the names I've seen on HIVE-14251, as well as related Jira HIVE-16050



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)