| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.pig.backend.hadoop.executionengine.physicalLayer; |
| |
| /** |
| * POStatus is a set of flags used to communicate the status of Pig's operator |
| * pipeline to consumers. |
| */ |
| public class POStatus { |
| |
| /** |
| * STATUS_OK indicates that the pull on the operator pipeline resulted in a |
| * valid output. |
| */ |
| public static final byte STATUS_OK = 0; |
| |
| /** |
| * STATUS_NULL indicates that no output was produced, but there may be more |
| * results. This can happen if a value is filtered out or an empty bag is |
| * flattened. A caller will typically ignore the output and try again after |
| * seeing STATUS_NULL. |
| * |
| * This does NOT indicate that the output is the value 'null' (which is |
| * possible in expressions). This is represented as 'null' with STATUS_OK. |
| */ |
| public static final byte STATUS_NULL = 1; |
| |
| /** |
| * STATUS_ERR indicates that there was a problem while trying to produce a |
| * result. This should be remembered and fed back to the user. |
| */ |
| public static final byte STATUS_ERR = 2; |
| |
| /** |
| * STATUS_EOP indicates that no output was produced, and no further outputs |
| * will be produced (e.g. all attached inputs have been consumed or a limit |
| * has reached its threshold). A caller will typically terminate or attach |
| * new inputs on seeing this status. |
| */ |
| public static final byte STATUS_EOP = 3; |
| |
| /** |
| * This is currently only used in communications between ExecutableManager |
| * and POStream. It indicates the end of Streaming output (i.e. output from |
| * streaming binary). |
| */ |
| public static final byte STATUS_EOS = 4; |
| |
| /** |
| * Successful processing of a batch. This is used for accumulative UDFs. |
| */ |
| public static final byte STATUS_BATCH_OK = 5; |
| |
| /** |
| * This signals that an accumulative UDF has already finished. |
| */ |
| public static final byte STATUS_EARLY_TERMINATION = 6; |
| } |