[
https://issues.apache.org/jira/browse/PIG-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13025433#comment-13025433
]
Xuefu Zhang commented on PIG-1998:
----------------------------------
For patch PIG-1998_1.patch,
1. I don't see VOID keyword is defined or used in any of the grammar rules.
2. Grammar rules inline_return_clause have overlap
3. Will re-review once the patch is updated.
> 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 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