[
https://issues.apache.org/jira/browse/PIG-2836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14184534#comment-14184534
]
Eyal Allweil commented on PIG-2836:
-----------------------------------
Here is a script that demonstrates this problem. I've run this on Pig 0.11.1
and 0.10.0. You can see the results to which I refer in the comments which
represent the result of the "describe" commands.
tagged = LOAD '/tagged.csv' USING PigStorage(',') AS (id: chararray, number:
int);
describe tagged; -- tagged: {id: chararray,number: int}
define change_tagged(tagged_set, columnToKeep) returns counted
{
tagged = FOREACH $tagged_set GENERATE $columnToKeep;
grp_all = GROUP tagged ALL;
$counted = FOREACH grp_all GENERATE COUNT(tagged);
};
results = change_tagged(tagged, id);
describe tagged; -- tagged: {id: chararray}
> Namespace in Pig macros collides with Pig scripts
> -------------------------------------------------
>
> Key: PIG-2836
> URL: https://issues.apache.org/jira/browse/PIG-2836
> Project: Pig
> Issue Type: Bug
> Components: grunt, parser
> Affects Versions: 0.9.2, 0.10.0, 0.11, 0.10.1
> Reporter: Russell Jurney
> Assignee: Alan Gates
> Priority: Critical
> Labels: bacon, confit, goto, hash, macros, pig, sad
>
> Relation names in macros collide with relation names in the calling pig
> script. This is my most common source of errors and it makes writing macros
> hard. Suggest that the macro processor create a unique namespace for all
> relations in a macro other than $in and $out. Prepend something to each
> relation name or somehow create a unique per-macro namespace.
> This may conflict with some uses of macros where relation names are passed
> through passively, but this is always avoidable by supplying parameters and
> feels GOTO f*cked.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)