[ https://issues.apache.org/jira/browse/PIG-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13268500#comment-13268500 ]
Andy Schlaikjer commented on PIG-2680: -------------------------------------- Hi Jon, Thanks for the test! As for the documented semantics of the UDF, they haven't really changed-- I've just relaxed the constraint on alias matching. If there's a mismatch on types at any level, the same null output schema will be returned. > TOBAG output schema reporting > ----------------------------- > > Key: PIG-2680 > URL: https://issues.apache.org/jira/browse/PIG-2680 > Project: Pig > Issue Type: Bug > Components: internal-udfs > Affects Versions: 0.10.0 > Reporter: Andy Schlaikjer > Attachments: fixes_tobag_input_schema_validation.patch > > > TOBAG only reports an output schema beyond {{{(NULL)}}} when all input field > schemas match deeply, including field schema aliases. This seems wrong to me. > Shouldn't it just require recursive type equality? > For relevant code, see: > http://svn.apache.org/viewvc/pig/tags/release-0.9.2/src/org/apache/pig/builtin/TOBAG.java?view=markup#l142 > {code:java} > private boolean nullEquals(Schema currentSchema, Schema newSchema) { > if(currentSchema == null){ > if(newSchema != null){ > return false; > } > return true; > } > return currentSchema.equals(newSchema); > } > {code} > The included patch modifies the return line to use > {{Schema.equals(currentSchema, newSchema, false, true)}} to avoid alias > matching requirement. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira