[
https://issues.apache.org/jira/browse/PIG-2248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13637317#comment-13637317
]
Daniel Dai commented on PIG-2248:
---------------------------------
I tried a simple query with the patch:
{code}
define ACOUNT(in_relation, min_gpa) returns c {
b = filter $in_relation by gpa >= $min_gpa;
$c = foreach b generate age, name;
}
a = load '1.txt' as (name, age, gpa);
x = ACOUNT(a, 3);
dump x;
{code}
I did a dry-run and hit the exception:
ERROR 2999: Unexpected internal error. Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at
org.apache.pig.parser.PigMacro.checkMacroNameMasking(PigMacro.java:440)
at org.apache.pig.parser.PigMacro.macroInline(PigMacro.java:509)
at
org.apache.pig.parser.QueryParserDriver.inlineMacro(QueryParserDriver.java:290)
at
org.apache.pig.parser.QueryParserDriver.expandMacro(QueryParserDriver.java:279)
at
org.apache.pig.parser.DryRunGruntParser.processPig(DryRunGruntParser.java:292)
at
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:499)
at
org.apache.pig.parser.DryRunGruntParser.parseStopOnError(DryRunGruntParser.java:67)
at org.apache.pig.Main.dryrun(Main.java:680)
at org.apache.pig.Main.run(Main.java:575)
at org.apache.pig.Main.main(Main.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Am I missing something here?
> Pig parser does not detect when a macro name masks a UDF name
> -------------------------------------------------------------
>
> Key: PIG-2248
> URL: https://issues.apache.org/jira/browse/PIG-2248
> Project: Pig
> Issue Type: Bug
> Components: parser
> Affects Versions: 0.9.0
> Reporter: Alan Gates
> Assignee: Johnny Zhang
> Priority: Minor
> Attachments: PIG-2248.patch.txt, PIG-2248.patch.txt,
> PIG-2248.patch.txt
>
>
> Pig accepts a macro like:
> {code}
> define COUNT(in_relation, min_gpa) returns c {
> b = filter $in_relation by gpa >= $min_gpa;
> $c = foreach b generate age, name;
> }
> {code}
> This should produce a warning that it is masking a UDF.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira