[
https://issues.apache.org/jira/browse/PIG-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027926#comment-13027926
]
Xuefu Zhang commented on PIG-1998:
----------------------------------
+1 Patch PIG-1998_3.patch looks good.
> Allow macro to return void
> --------------------------
>
> Key: PIG-1998
> URL: https://issues.apache.org/jira/browse/PIG-1998
> Project: Pig
> Issue Type: Improvement
> Components: impl
> Affects Versions: 0.9.0
> Reporter: Richard Ding
> Assignee: Richard Ding
> Fix For: 0.9.0
>
> Attachments: PIG-1998_1.patch, PIG-1998_2.patch, PIG-1998_3.patch
>
>
> Pig macro is allowed to not have output alias. But this property isn't clear
> from macro definition and macro invocation (macro inline). Here we propose to
> make it clear:
> 1. If a macro doesn't output any alias, it must specify void as return value.
> For example:
> {code}
> define mymacro(...) returns void {
> ... ...
> };
> {code}
> 2. If a macro doesn't output any alias, it must be invoked without return
> value. For example, to invoke above macro, just specify:
> {code}
> mymacro(...);
> {code}
> 3. Any non-void return alias in the macro definition must exist in the macro
> body and be prefixed with $. For example:
> {code}
> define mymacro(...) returns B {
> ... ...
> $B = filter ...;
> };
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira