Parses doesn't catch certain type errors.
-----------------------------------------

                 Key: HIVE-297
                 URL: https://issues.apache.org/jira/browse/HIVE-297
             Project: Hadoop Hive
          Issue Type: Bug
          Components: Query Processor
            Reporter: S. Alex Smith


If table_a and table_c have schemas:
 userid bigint

and table_b has a schema:
  userid string

Then the following with make it through the parser, but will fail when running:

FROM (
    FROM table_a
    SELECT userid
    UNION ALL
    FROM table_b
    SELECT userid) unioned
INSERT OVERWRITE TABLE table_c
SELECT *;

Specifically, the map step with throw:
java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: 
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String

I have interpreted this as a bug in the parser, but it could also be viewed as 
a bug about not auto-casting.

Note that this can be worked around by using explicit CAST statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to