Daniel Dai updated PIG-922:

    Attachment: PIG-922-p1_2.patch

* RelationalOperator.java: 
Comments should be "Relevant input columns for C.$0 is A.a0"

* LOForEach.java: 
Yes, agree caching the information while getting schema is a better way

* LOCogroup.java: 
The return type of the function is List<RequiredFields>, the first element in 
it is from from the first input, the second element in it is from from the 
second input, and so on. For 3rd cogroup output for example, it's relevant 
input is the entire 2nd input. So the result for this 
cogroup.getRelevantInputs(0, 2) is <null, *>, which means requiring nothing 
from 1st input, requiring everything from the 2nd input. That's why I need to 
adding null.

* RequiredFields.java
We do not need these methods now, but probably will be used in the future. I 
can remove these for now.

I attached new patch to address these issues.

> Logical optimizer: push up project
> ----------------------------------
>                 Key: PIG-922
>                 URL: https://issues.apache.org/jira/browse/PIG-922
>             Project: Pig
>          Issue Type: New Feature
>          Components: impl
>    Affects Versions: 0.3.0
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.4.0
>         Attachments: PIG-922-p1_0.patch, PIG-922-p1_1.patch, 
> PIG-922-p1_2.patch
> This is a continuation work of 
> [PIG-697|https://issues.apache.org/jira/browse/PIG-697]. We need to add 
> another rule to the logical optimizer: Push up project, ie, prune columns as 
> early as possible.

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