[ https://issues.apache.org/jira/browse/HIVE-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680803#action_12680803 ]
Raghotham Murthy commented on HIVE-285: --------------------------------------- type conversion in UNION will lead to confusing behavior. for a query like the following on two tables R(a int) and S(a string) select a from R union all select a from S What will the schema of the result of the join be? int or string? > UNION ALL does not allow different types in the same column > ----------------------------------------------------------- > > Key: HIVE-285 > URL: https://issues.apache.org/jira/browse/HIVE-285 > Project: Hadoop Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.2.0, 0.3.0 > Reporter: Zheng Shao > Assignee: Raghotham Murthy > Fix For: 0.3.0 > > Attachments: hive-285.1.patch > > > {code} > explain INSERT OVERWRITE TABLE t > SELECT s.r, s.c, sum(s.v) FROM > ( > SELECT a.r AS r, a.c AS c, a.v AS v FROM t1 a > UNION ALL > SELECT b.r AS r, b.c AS c, 0 + b.v AS v FROM t2 b > ) s > GROUP BY s.r, s.c; > {code} > Both a and b have 3 string columns: r, c, and v. > It compiled successfully but failed during runtime. > "Explain" shows that the plan for the 2 union-all operands have different > output types that are converged to STRING, but there is no UDFToString > inserted for "0 + b.v AS v" and as a result, SerDe was failing because it > expects a String but is passed a Double. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.