[
https://issues.apache.org/jira/browse/PIG-2223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13098255#comment-13098255
]
Thejas M Nair commented on PIG-2223:
------------------------------------
The second error is thrown during a getSchema call made during parsing, to
determine if an identifier is a scalar variable or not. The project star
expansion has not happened at that point, resulting in exception such as the
following.
{code}
Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1128:
Cannot find field b in :tuple(a:int,b:int,c:int)
at
org.apache.pig.newplan.logical.expression.DereferenceExpression.translateAliasToPos(DereferenceExpression.java:201)
at
org.apache.pig.newplan.logical.expression.DereferenceExpression.getFieldSchema(DereferenceExpression.java:169)
at
org.apache.pig.newplan.logical.relational.LOGenerate.getSchema(LOGenerate.java:88)
at
org.apache.pig.newplan.logical.relational.LOForEach.getSchema(LOForEach.java:63)
at
org.apache.pig.parser.LogicalPlanGenerator.alias_col_ref(LogicalPlanGenerator.java:15110)
... 23 more
{code}
> error accessing column in output schema of udf having project-star input
> ------------------------------------------------------------------------
>
> Key: PIG-2223
> URL: https://issues.apache.org/jira/browse/PIG-2223
> Project: Pig
> Issue Type: Bug
> Affects Versions: 0.9.0
> Reporter: Thejas M Nair
> Assignee: Thejas M Nair
> Fix For: 0.9.1
>
> Attachments: PIG-2223.1.patch, PIG-2223.2.patch
>
>
> (from Grahame's email) -
> {code}
> describe a;
> a: {f1: int,f2: int,f3: int,f4: int,f5: int,f6: int,f7: int,f8: int,f9:
> int,f10: int}
> aa = FOREACH a GENERATE $0, TOTUPLE($2,$3,$4,$5);
> aaa = FOREACH aa GENERATE $0, $1.$0; -- OK
> aaa = FOREACH aa GENERATE $0, $1.f3; -- OK
> aaa = FOREACH aa GENERATE $0, $1.$1; -- OK
> aaa = FOREACH aa GENERATE $0, $1.f4; -- OK
> aa = FOREACH a GENERATE $0, TOTUPLE($2..$5); -- should be the same as above?
> aaa = FOREACH aa GENERATE $0, $1.$0; -- OK
> aaa = FOREACH aa GENERATE $0, $1.f3; -- ERROR
> aaa = FOREACH aa GENERATE $0, $1.$1; -- ERROR
> aaa = FOREACH aa GENERATE $0, $1.f4; -- ERROR
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira