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

Olga Natkovich updated PIG-1762:
--------------------------------

         Priority: Major  (was: Minor)
    Fix Version/s:     (was: 0.9.0)
                   0.8.0

> Logic simplification does not work on map key referenced values
> ---------------------------------------------------------------
>
>                 Key: PIG-1762
>                 URL: https://issues.apache.org/jira/browse/PIG-1762
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.8.0
>            Reporter: Yan Zhou
>            Assignee: Yan Zhou
>             Fix For: 0.8.0
>
>
> Logical expression simplification, introduced in PIG-1399, can not handle the 
> map key referenced value in such expressions. For instance, the following 
> statement causes exception  thrown:
> b = filter (load 'd.txt' as (k1, k2, k3, v1, v2, v3)) by k2#'f1'#'f' is not 
> null and (v2#'f'#'f1' is not null or v2#'f'#'f2' is not null;
> The problem is that if the operand of AND/OR is not a terminal, the current 
> use of stack to store the operand's results won't work because the the used 
> AllSameExpressionVisitor is inadequate in that it visits all expressions 
> while we only need to visit both children of AND/OR.
> Another problem is that MapLookupExpression.isEqual method only checks for 
> the top level map references. For instance, m#k1 and m#k2 will be regarded 
> equal. We need to check recursively if nested map key reference is present.

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