[
https://issues.apache.org/jira/browse/PIG-2375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thejas M Nair updated PIG-2375:
-------------------------------
Resolution: Not A Problem
Status: Resolved (was: Patch Available)
A visitor (TypeCheckingExpVisitor) replaces the FuncSpec with the matching
class, based on the input type and values returned by getArgToFuncMapping().
It is possible that some code calls UserFuncExpression.getFieldSchema() on your
base class before FuncSpec gets replaced by this visitor, but that should be
harmless.
Please feel free to open a new jira to document this behavior more clearly.
> Incorrect outputSchema is invoked when overloading UDF in 0.9.1
> ---------------------------------------------------------------
>
> Key: PIG-2375
> URL: https://issues.apache.org/jira/browse/PIG-2375
> Project: Pig
> Issue Type: Bug
> Affects Versions: 0.9.1
> Reporter: Prashant Kommireddi
> Assignee: Prashant Kommireddi
> Attachments: LogFieldValue.java, LogFieldValues.java
>
>
> When overloading a UDF with getArgToFuncMapping() the parent/root UDF
> outputSchema() is being called.
> {code}
> @Override
> public List<FuncSpec> getArgToFuncMapping() throws FrontendException {
> List<FuncSpec> funcList = new ArrayList<FuncSpec>();
> Schema s = new Schema();
> s.add(new Schema.FieldSchema(null, DataType.TUPLE));
> s.add(new Schema.FieldSchema(null, DataType.CHARARRAY));
> funcList.add(new FuncSpec(this.getClass().getName(), s));
> Schema s1 = new Schema();
> s1.add(new Schema.FieldSchema(null, DataType.TUPLE));
> s1.add(new Schema.FieldSchema(null, DataType.TUPLE));
> funcList.add(new FuncSpec(LogFieldValues.class.getName(), s1));
> return funcList;
> }
> {code}
> In the above function, "LogFieldValues" is used when the input is (tuple,
> tuple) but the outputSchema() is invoked from the root UDF.
--
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