[ 
https://issues.apache.org/jira/browse/PIG-2769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick White updated PIG-2769:
----------------------------

    Attachment: PIG-2769.0.patch

I've attached a patch that refactors the QueryParser's grammar so that it 
doesn't need global backtracking (in fact, it only has backtracking in one rule 
as empty map casts look very much like map literals in brackets). I've added a 
lot of comments, so hope it's clear what's going on, and have checked all the 
unit tests pass. I've also added a lot more unit tests, including the query on 
this ticket (which now parses in about 0.03s), so I'm pretty sure it's just a 
drop-in replacement.
                
> a simple logic causes very long compiling time on pig 0.10.0
> ------------------------------------------------------------
>
>                 Key: PIG-2769
>                 URL: https://issues.apache.org/jira/browse/PIG-2769
>             Project: Pig
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.10.0
>         Environment: Apache Pig version 0.10.0-SNAPSHOT (rexported)
>            Reporter: Dan Li
>             Fix For: 0.12
>
>         Attachments: case1.tar, PIG-2769.0.patch
>
>
> We found the following simple logic will cause very long compiling time for 
> pig 0.10.0, while using pig 0.8.1, everything is fine.
> A = load 'A.txt' using PigStorage()  AS (m: int);
> B = FOREACH A {
>     days_str = (chararray)
>         (m == 1 ? 31: 
>         (m == 2 ? 28: 
>         (m == 3 ? 31: 
>         (m == 4 ? 30: 
>         (m == 5 ? 31: 
>         (m == 6 ? 30: 
>         (m == 7 ? 31: 
>         (m == 8 ? 31: 
>         (m == 9 ? 30: 
>         (m == 10 ? 31: 
>         (m == 11 ? 30:31)))))))))));
> GENERATE
>    days_str as days_str;
> }   
> store B into 'B';
> and here's a simple input file example: A.txt
> 1
> 2
> 3
> The pig version we used in the test
> Apache Pig version 0.10.0-SNAPSHOT (rexported)

--
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

Reply via email to