[ 
https://issues.apache.org/jira/browse/PIG-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091982#comment-13091982
 ] 

Alan Gates commented on PIG-2244:
---------------------------------

Given a script

{code}
define simple_macro(in_relation, min_gpa, max_age) returns c {
    b = filter $in_relation by gpa >= $min_gpa and age <= $max_age;
    $c = foreach b generate age, name;
}

a = load '/user/pig/tests/data/singlefile/studenttab10k' as (name, age, gpa);
x = simple_macro('a', '3.0', '40');
store x into 
'/user/pig/out/hortonal.1314386707/Macro_DefinitionAndInline_4.out';
{code}

(Notice the incorrect quotes around alias a in the invocation of simple_macro.)

This produces
{code}
a = load '/user/pig/tests/data/singlefile/studenttab10k' as (name, age, gpa);
macro_simple_macro_b_0 = filter macro_simple_macro_a_0 BY ((gpa >= 3.0) and 
(age <= 40));
x = foreach macro_simple_macro_b_0 generate age, name;
store x INTO 
'/user/pig/out/hortonal.1314386707/Macro_DefinitionAndInline_4.out';
{code}

The alias a gets expanded to macro_simple_macro_a.

> Macros cannot be passed relation names
> --------------------------------------
>
>                 Key: PIG-2244
>                 URL: https://issues.apache.org/jira/browse/PIG-2244
>             Project: Pig
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 0.9.0
>            Reporter: Alan Gates
>            Priority: Minor
>
> If an alias is passed quoted, it gets expanded as if it were an alias in the 
> macro, which leads to a very strange error message.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to