[ 
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

        

Reply via email to