Will Lauer created PIG-5362:

             Summary: Parameter substitution of shell cmd results doesn't 
handle backslash      
                 Key: PIG-5362
                 URL: https://issues.apache.org/jira/browse/PIG-5362
             Project: Pig
          Issue Type: Bug
          Components: parser
            Reporter: Will Lauer
         Attachments: pig.patch

It looks like there is a bug in how parameter substitution is handled in 
PreprocessorContext.java that causes parameter values that contain backslashed 
to not be processed correctly, resulting in the backslashes being lost. For 
example, if you had the following:
%DECLARE A `echo \$foo\\bar`
B = LOAD $A 
You would expect the echo command to produce the output {{$foo\bar}} but the 
actual value that gets substituted is {{\$foobar}}. This is happening because 
the {{substitute}} method in PreprocessorContext.java uses a regular expression 
replacement instead of a basic string substitution and $ and \ are special 
characters. The code attempts to escape $, but does not escape backslash.

This message was sent by Atlassian JIRA

Reply via email to