[ 
https://issues.apache.org/jira/browse/PIG-4896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koji Noguchi updated PIG-4896:
------------------------------
    Attachment: pig-4896-v04.patch

{quote}
bq. store A into '20160515_17:33_1463346753'; NO
I would say that we should go with Pig 0.11 on this behavior and it looks 
correct to me. User most likely will not be redefining the same shell cmd if 
value is expected to be same.
{quote}
Got it.  
Uploading {{pig-4896-v04.patch}} which now 
* Re-executes even when command-line is identical as long as ovewrite is set
* Updating a testcase to make sure this re-execution happen
* Updating the warning message of ovewrites to show the previous and new values.

> Param substitution ignored when redefined 
> ------------------------------------------
>
>                 Key: PIG-4896
>                 URL: https://issues.apache.org/jira/browse/PIG-4896
>             Project: Pig
>          Issue Type: Bug
>          Components: parser
>            Reporter: Koji Noguchi
>            Assignee: Koji Noguchi
>            Priority: Minor
>         Attachments: pig-4896-v01.patch, pig-4896-v02.patch, 
> pig-4896-v03.patch, pig-4896-v04.patch
>
>
> After PIG-3359, the way we cache parameter substitution results changed a bit.
> {code:title=test.pig}
> A = load 'input.txt' ;
> %declare output '/tmp/abc';
> %declare actualoutput '$output.out';
> store A into '$actualoutput';
> %declare output '/tmp/def';
> %declare actualoutput '$output.out';
> store A into '$actualoutput';
> %declare number '1d';
> %declare shellout `bash -c "date -v-$number +'%Y%m%d_%H:%S_%s'; sleep 1" `
> store A into '$shellout';
> %declare shellout `bash -c "date -v-$number +'%Y%m%d_%H:%S_%s'; sleep 1" `
> store A into '$shellout';
> %declare number '2d';
> %declare shellout `bash -c "date -v-$number +'%Y%m%d_%H:%S_%s'; sleep 1" `
> store A into '$shellout';
> {code}
> Result from pig 0.11 (almost correct)
> {panel}
> A = load 'input.txt' ;
> store A into '/tmp/abc.out';
> store A into '/tmp/def.out';
> store A into '20160515_17:32_1463346752';
> store A into '20160515_17:33_1463346753'; {color:red}NO{color}
> store A into '20160514_17:34_1463260354';
> {panel}
> Result from trunk 
> {panel}
> A = load 'input.txt' ;
> store A into '/tmp/abc.out';
> store A into '/tmp/abc.out';  {color:red} NO{color}
> store A into '20160515_15:10_1463338810';
> store A into '20160515_15:10_1463338810';
> store A into '20160515_15:10_1463338810'; {color:red}NO{color}
> {panel}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to