blob: e55787aa4dc07032518767f1f2d112edecf4f532 [file] [log] [blame]
/*
* 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;
}