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

Viraj Bhat commented on PIG-656:
--------------------------------

Another pig parse issue when a udf was defined within a package which had 
"matches" keywords in its path.

So something like :
define DISTANCE_SCORE mypackage.pig.udf.matches.LevensteinMatchUDF();

gives a parse error

"
ERROR 1000: Error during parsing. Encountered " "matches" "matches "" at 
line 11, column 42.
Was expecting:
     <IDENTIFIER> ...
"

It is possible to have keywords from pig within package names or even  udf - 
shouldn't pig not be robust to simple grammar disambiguation of  this sort ?

> Use of eval word in the package hierarchy of a UDF causes parse exception
> -------------------------------------------------------------------------
>
>                 Key: PIG-656
>                 URL: https://issues.apache.org/jira/browse/PIG-656
>             Project: Pig
>          Issue Type: Bug
>          Components: documentation, grunt
>    Affects Versions: 0.2.0
>            Reporter: Viraj Bhat
>             Fix For: 0.2.0
>
>         Attachments: mywordcount.txt, TOKENIZE.jar
>
>
> Consider a Pig script which does something similar to a word count. It uses 
> the built-in TOKENIZE function, but packages it inside a class hierarchy such 
> as "mypackage.eval"
> {code}
> register TOKENIZE.jar
> my_src  = LOAD '/user/viraj/mywordcount.txt' USING PigStorage('\t')  AS 
> (mlist: chararray);
> modules = FOREACH my_src GENERATE FLATTEN(mypackage.eval.TOKENIZE(mlist));
> describe modules;
> grouped = GROUP modules BY $0;
> describe grouped;
> counts  = FOREACH grouped GENERATE COUNT(modules), group;
> ordered = ORDER counts BY $0;
> dump ordered;
> {code}
> The parser complains:
> ===========================================================================================================================
> 2009-02-05 01:17:29,231 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
> 1000: Error during parsing. Invalid alias: mypackage in {mlist: chararray}
> ===========================================================================================================================
> I looked at the following source code at 
> (src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt) and it seems 
> that : EVAL is a keyword in Pig. Here are some clarifications:
> 1) Is there documentation on what the EVAL keyword actually is?
> 2) Is EVAL keyword actually implemented?
> Viraj

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to