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:
{code:java}
%DECLARE A `echo \$foo\\bar`
B = LOAD $A
{code}
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
(v7.6.3#76005)