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

xuting zhao commented on PIG-2184:
----------------------------------

 I use the method which adds "\\" in front of the dollar variable. If we call 
the Matcher.quoteReplacement(val) function in PreprocessorContext.java, it will 
be too general and as a result, there will be some problem in parameter 
substitution. For example, '\' will be added in front of URL parameters.

 
 Ant test-commit has been run successfully and a new Junit test has been added 
into the test/org/apache/pig/test/TestMacroExpansion.java. The old Junit test 
of PIG-2081 has been removed because it is about adding error message under 
this situation 
                
> 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
>
>         Attachments: 2184.patch
>
>
> 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