pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Woodruff (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PIG-5312) Uids not set in inner schemas after UNION ON_SCHEMA
Date Thu, 02 Nov 2017 18:41:00 GMT

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

Travis Woodruff updated PIG-5312:
    Assignee:     (was: Travis Woodruff)
      Status: Patch Available  (was: Open)

> Uids not set in inner schemas after UNION ON_SCHEMA
> ---------------------------------------------------
>                 Key: PIG-5312
>                 URL: https://issues.apache.org/jira/browse/PIG-5312
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.17.0, 0.16.0
>            Reporter: Travis Woodruff
>            Priority: Normal
>         Attachments: PIG-5312.patch
> Ran into a failure with a script of the form:
> {code}
> u = union on_schema x, y;  -- schema: (a, b: {(m:int, n: chararray)})
> z = foreach u {
>     i = foreach b generate m + 5;
>     generate a, i;
> }
> {code}
> The issue ended up being that {{LOUnion}} is not setting uids on inner schemas. This
means that uids on inner schema fields are all -1, so when {{ProjectExpression.getFieldSchema()}}
tries to look up the fields in the inner select from the inner schema, all the fields match,
and the last field's schema ends up being returned. In the example above this causes {{TypeCheckingExpVisitor.addCastsToNumericBinExpression()}}
to fail for the addition operator (since the returned field schema is a chararray).
> This only seems to affect the schema, so I don't think this should cause bad data to
be produced.

This message was sent by Atlassian JIRA

View raw message