Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- incorporates
-
HIVE-2305 UNION ALL on different types throws runtime exception
- Open