[
https://issues.apache.org/jira/browse/PIG-3568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821904#comment-13821904
]
Daniel Dai commented on PIG-3568:
---------------------------------
I think #2 is also fine. We do use it to signal a tuple need to be skipped in
POForEach (which wrongly changed by PIG-3060, PIG-3570 roll it back).
However, when we use STATUS_NULL to signal a skip tuple, STATUS_NULL need to go
through the rest of pipeline. We might consider to contain STATUS_NULL in the
operator in the future.
> Define the semantics of POStatus.STATUS_NULL
> --------------------------------------------
>
> Key: PIG-3568
> URL: https://issues.apache.org/jira/browse/PIG-3568
> Project: Pig
> Issue Type: Bug
> Reporter: Mark Wagner
> Assignee: Mark Wagner
>
> The meaning of POStatus.STATUS_NULL is not well documented and there are
> conflicting view points on its interpretation. The two interpretations are:
> 1. POStatus.STATUS_NULL indicates that the pulled output IS null. This is
> mostly found in expression operators, particularly comparison operators.
> 2. POStatus.STATUS_NULL indicates that the pull did not produce any output.
> This is backed up by its usage in POPackage (not JoinPackage) for flattening
> an empty bag, and PigGenericMapBase where pulls on the operator pipeline that
> result in STATUS_NULL are discarded.
> I propose that 2 should be the official definition going forward. The first
> meaning is easily indicated by (null, STATUS_OK) and all the relational
> operators already seem to follow 2. I'd like to hear others' opinions as well
> though.
--
This message was sent by Atlassian JIRA
(v6.1#6144)