Daniel Dai commented on PIG-1127:

It is ideal we put the setParent logic into copy constructor of FieldSchema. 
However, canonicalMap of FieldSchema points to the grand parents of the logical 
operator we address. We cannot simply copy it from the input. Inside 
Schema/FieldSchema, we cannot access the logical plan in order to get the 
parent of the logical operator. It has to be done outside Schema/FieldSchema. 
So I have to keep setParent method call as it is until we have a better idea.

> Logical operator should contains individual copy of schema object
> -----------------------------------------------------------------
>                 Key: PIG-1127
>                 URL: https://issues.apache.org/jira/browse/PIG-1127
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.4.0
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.6.0
>         Attachments: PIG-1127-1.patch, PIG-1127-2.patch
> Currently some logical operator only contains a schema reference to the 
> predecessor's schema object. These logical operators include: LOSplitOutput, 
> LOLimit, LOSplit, LOFilter, LOSort, LODistinct, LOUnion. It is ok in the 
> before because we do not change schema object once it is set. Now with the 
> column pruner (PIG-922), we need to change individual schema object so it is 
> no longer acceptable. For example, the following script fail:
> {code}
> a = load '1.txt' as (a0, a1:map[], a2);
> b = foreach a generate a1;
> c = limit b 10;
> dump c;
> {code}
> We need to fix it.

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