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.BatchState
Nested classes/interfaces inherited from interface org.apache.drill.exec.record.RecordBatch
RecordBatch.IterOutcome
-
Field Summary
Fields inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
callBack
Fields inherited from class org.apache.drill.exec.record.AbstractRecordBatch
batchStatsContext, container, context, oContext, popConfig, state, stats, unionTypeEnabled
Fields inherited from interface org.apache.drill.exec.record.RecordBatch
MAX_BATCH_ROW_COUNT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected RecordBatch
void
setIncoming
(LateralContract incoming) sets the incoming Lateral Contract for the operator.void
setIncoming
(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, setupNewSchema
Methods 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, schemaChangeException
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.drill.exec.record.RecordBatch
dump
Methods 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:
getIncoming
in classAbstractUnaryRecordBatch<T extends PhysicalOperator>
-
setIncoming
Description copied from interface:TableFunctionContract
sets 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:
setIncoming
in interfaceTableFunctionContract
-
setIncoming
Description copied from interface:TableFunctionContract
sets 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:
setIncoming
in interfaceTableFunctionContract
-