Package org.apache.drill.exec.record
Class AbstractTableFunctionRecordBatch<T extends PhysicalOperator>
java.lang.Object
org.apache.drill.exec.record.AbstractRecordBatch<T>
org.apache.drill.exec.record.AbstractUnaryRecordBatch<T>
org.apache.drill.exec.record.AbstractTableFunctionRecordBatch<T>
- Type Parameters:
T-
- All Implemented Interfaces:
AutoCloseable,Iterable<VectorWrapper<?>>,CloseableRecordBatch,RecordBatch,TableFunctionContract,VectorAccessible
- Direct Known Subclasses:
UnnestRecordBatch
public abstract class AbstractTableFunctionRecordBatch<T extends PhysicalOperator>
extends AbstractUnaryRecordBatch<T>
implements TableFunctionContract
Implements AbstractUnaryRecodBatch for operators that do not have an incoming
record batch available at creation time; the input is typically set up a few
steps after creation. Table functions and operators like Unnest that require
input before they can produce output fall into this category. Table functions
can be associated with a Lateral operator in which case they simultaneously
operate on the same row as the Lateral operator. In this case the
LateralContract member is not null and the table function uses the lateral
contract to keep in sync with the Lateral operator.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.drill.exec.record.AbstractRecordBatch
AbstractRecordBatch.BatchStateNested classes/interfaces inherited from interface org.apache.drill.exec.record.RecordBatch
RecordBatch.IterOutcome -
Field Summary
FieldsFields inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
callBackFields inherited from class org.apache.drill.exec.record.AbstractRecordBatch
batchStatsContext, container, context, oContext, popConfig, state, stats, unionTypeEnabledFields inherited from interface org.apache.drill.exec.record.RecordBatch
MAX_BATCH_ROW_COUNT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected RecordBatchvoidsetIncoming(LateralContract incoming) sets the incoming Lateral Contract for the operator.voidsetIncoming(RecordBatch incoming) sets the incoming record batch for the operator.Methods inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
cancelIncoming, doWork, getLastKnownOutcome, handleNullInput, innerNext, setLastKnownOutcome, setupNewSchemaMethods inherited from class org.apache.drill.exec.record.AbstractRecordBatch
buildSchema, cancel, checkContinue, close, getContainer, getContext, getOutgoingContainer, getPopConfig, getRecordBatchStatsContext, getSchema, getSelectionVector2, getSelectionVector4, getValueAccessorById, getValueVectorId, getWritableBatch, isRecordBatchStatsLoggingEnabled, iterator, next, next, next, schemaChangeException, schemaChangeExceptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.record.RecordBatch
dumpMethods inherited from interface org.apache.drill.exec.record.VectorAccessible
getRecordCount
-
Field Details
-
incoming
-
lateral
-
-
Constructor Details
-
AbstractTableFunctionRecordBatch
public AbstractTableFunctionRecordBatch(T popConfig, FragmentContext context) throws OutOfMemoryException - Throws:
OutOfMemoryException
-
-
Method Details
-
getIncoming
- Specified by:
getIncomingin classAbstractUnaryRecordBatch<T extends PhysicalOperator>
-
setIncoming
Description copied from interface:TableFunctionContractsets the incoming record batch for the operator. The innerNext() method requires one of the setIncoming methods to be called before it is called.- Specified by:
setIncomingin interfaceTableFunctionContract- Parameters:
incoming-
-
setIncoming
Description copied from interface:TableFunctionContractsets the incoming Lateral Contract for the operator. The innerNext() method requires one of the setIncoming methods to be called before it is called.- Specified by:
setIncomingin interfaceTableFunctionContract- Parameters:
incoming-
-