You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Adam Kramer (JIRA)" <ji...@apache.org> on 2011/02/08 00:32:57 UTC

[jira] Updated: (HIVE-1490) More implicit type conversion: UNION ALL and COALESCE

     [ https://issues.apache.org/jira/browse/HIVE-1490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Kramer updated HIVE-1490:
------------------------------

    Issue Type: Bug  (was: Improvement)

Based on http://wiki.apache.org/hadoop/Hive/HiveQL/Types#Implicit_and_Explicit_Type_Conversions this appears to actually be a bug rather than an improvement.

> More implicit type conversion: UNION ALL and COALESCE
> -----------------------------------------------------
>
>                 Key: HIVE-1490
>                 URL: https://issues.apache.org/jira/browse/HIVE-1490
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor, Server Infrastructure
>            Reporter: Adam Kramer
>
> This is a usecase that frequently annoys me:
> SELECT TRANSFORM(stuff)
> USING 'script'
> AS thing1, thing2
> FROM some_table
> UNION ALL
> SELECT a.thing1, a.thing2
> FROM some_other_table a
> ...this fails when a.thing1 and a.thing2 are anything but STRING, because all output of TRANSFORM is STRING.
> In this case, a.thing1 and a.thing2 should be implicitly converted to string.
> COALESCE(a.thing1, a.thing2, a.thing3) should similarly do implicit type conversion among the arguments. If two are INT and one is BIGINT, upgrade the INTs, etc.
> At the very least, it would be nice to have syntax like
> SELECT TRANSFORM(stuff)
> USING 'script'
> AS thing1 INT, thing2 INT
> ...which would effectively cast the output column to the specified type. But really, type conversion should work.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira