[
https://issues.apache.org/jira/browse/PIG-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030889#comment-13030889
]
Xuefu Zhang commented on PIG-2021:
----------------------------------
The above test case seems having a few problems:
1. LOWER() returns a string, so parsedurl is a string. However, it's later used
as a map. Such conversion is invalid.
2. generate * will output input, so the nested commands in the second foreach
is useless.
3. with latest in the trunk, the above query parses without problem.
grunt> A = load 'temp' as ( s, m, l );
grunt> B = foreach A generate *, LOWER((chararray) s#'url') as parsedurl;
2011-05-09 13:37:04,796 [main] WARN org.apache.pig.PigServer - Encountered
Warning IMPLICIT_CAST_TO_MAP 1 time(s).
grunt> C = foreach B {
>> urlpath = (chararray) parsedurl#'path';
>> lc_urlpath =
>> org.apache.pig.piggybank.evaluation.string.Reverse((chararray) urlpath);
>> generate *;
>> };
2011-05-09 13:37:06,315 [main] WARN org.apache.pig.PigServer - Encountered
Warning IMPLICIT_CAST_TO_MAP 1 time(s).
grunt> describe C;
2011-05-09 13:37:10,676 [main] WARN org.apache.pig.PigServer - Encountered
Warning IMPLICIT_CAST_TO_MAP 1 time(s).
C: {s: bytearray,m: bytearray,l: bytearray,parsedurl: chararray}
Please provide a valid case.
> Parser error while referring a map nested foreach
> -------------------------------------------------
>
> Key: PIG-2021
> URL: https://issues.apache.org/jira/browse/PIG-2021
> Project: Pig
> Issue Type: Bug
> Affects Versions: 0.9.0
> Reporter: Vivek Padmanabhan
> Assignee: Xuefu Zhang
> Fix For: 0.9.0
>
>
> The below script is throwing parser errors
> {code}
> register string.jar;
> A = load 'test1' using MapLoader() as ( s, m, l );
> B = foreach A generate *, string.URLPARSE((chararray) s#'url') as parsedurl;
> C = foreach B {
> urlpath = (chararray) parsedurl#'path';
> lc_urlpath = string.TOLOWERCASE((chararray) urlpath);
> generate *;
> };
> {code}
> Error message;
> | Failed to generate logical plan.
> |Nested exception: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> 2225: Projection with nothing to reference!
> PIG-2002 reports a similar issue, but when i tried with the patch of PIG-2002
> i was getting the below exception;
> ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <file repro.pig, line
> 11, column 33> mismatched input '(' expecting SEMI_COLON
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira