[ 
https://issues.apache.org/jira/browse/PIG-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13147896#comment-13147896
 ] 

Daniel Dai commented on PIG-2184:
---------------------------------

The script seems not right. Macro only do literal substitution, so with
E = my_macro(A,A.$0);

We will get "tmp1 = foreach $X generate TOKENIZE((chararray)A.$0) as tokens;", 
which is wrong.

However, "E = my_macro(A,$0);" also does not work. We should fix this case. 
There are two issues:
1. in parser, my_macro(A, $0) is not allowed, we need to allow this
2. in param substitution, $0 is not a valid value, we need to fix
                
> Not able to provide positional reference to macro invocations
> -------------------------------------------------------------
>
>                 Key: PIG-2184
>                 URL: https://issues.apache.org/jira/browse/PIG-2184
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.9.0
>            Reporter: Vivek Padmanabhan
>            Assignee: xuting zhao
>             Fix For: 0.10
>
>
> It looks like the macro functionality doesnt support for positional 
> references. The below is an example script;
> ----------------------------------------------------------------------------
> DEFINE my_macro (X,key) returns Y
>         {
>         tmp1 = foreach  $X generate TOKENIZE((chararray)$key) as tokens;
>         tmp2 = foreach tmp1 generate flatten(tokens);
>         tmp3 = order tmp2 by $0;
>         $Y = distinct tmp3;
>         }
> A = load 'sometext' using TextLoader() as (row1) ;
> E = my_macro(A,A.$0);
> dump E;
> ----------------------------------------------------------------------------
> This script execution fails at parsing staging itself;
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during 
> parsing. <file try1.pig, line 16,
> column 16>  mismatched input '.' expecting RIGHT_PAREN
> If i replace A.$0 with the field name ie row1 the script runs fine.

--
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

        

Reply via email to