[ 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