Package org.apache.drill.exec.record
Class AbstractBinaryRecordBatch<T extends PhysicalOperator>
java.lang.Object
org.apache.drill.exec.record.AbstractRecordBatch<T>
org.apache.drill.exec.record.AbstractBinaryRecordBatch<T>
- All Implemented Interfaces:
AutoCloseable
,Iterable<VectorWrapper<?>>
,CloseableRecordBatch
,RecordBatch
,VectorAccessible
- Direct Known Subclasses:
AbstractHashBinaryRecordBatch
,LateralJoinBatch
,MergeJoinBatch
,MetadataControllerBatch
,NestedLoopJoinBatch
,UnionAllRecordBatch
public abstract class AbstractBinaryRecordBatch<T extends PhysicalOperator>
extends AbstractRecordBatch<T>
-
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
Modifier and TypeFieldDescriptionprotected RecordBatchMemoryManager
protected final RecordBatch
static final int
protected RecordBatch.IterOutcome
final int
protected final RecordBatch
static final int
protected RecordBatch.IterOutcome
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
ModifierConstructorDescriptionprotected
AbstractBinaryRecordBatch
(T popConfig, FragmentContext context, boolean buildSchema, RecordBatch left, RecordBatch right) protected
AbstractBinaryRecordBatch
(T popConfig, FragmentContext context, RecordBatch left, RecordBatch right) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected boolean
checkForEarlyFinish
(RecordBatch.IterOutcome leftOutcome, RecordBatch.IterOutcome rightOutcome) Checks for the operator specific early terminal condition.protected boolean
Prefetch first batch from both inputs.protected void
protected boolean
verifyOutcomeToSetBatchState
(RecordBatch.IterOutcome leftOutcome, RecordBatch.IterOutcome rightOutcome) 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, innerNext, 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
-
left
-
right
-
leftUpstream
-
rightUpstream
-
batchMemoryManager
-
numInputs
public final int numInputs- See Also:
-
LEFT_INDEX
public static final int LEFT_INDEX- See Also:
-
RIGHT_INDEX
public static final int RIGHT_INDEX- See Also:
-
-
Constructor Details
-
AbstractBinaryRecordBatch
protected AbstractBinaryRecordBatch(T popConfig, FragmentContext context, RecordBatch left, RecordBatch right) throws OutOfMemoryException - Throws:
OutOfMemoryException
-
AbstractBinaryRecordBatch
protected AbstractBinaryRecordBatch(T popConfig, FragmentContext context, boolean buildSchema, RecordBatch left, RecordBatch right) throws OutOfMemoryException - Throws:
OutOfMemoryException
-
-
Method Details
-
verifyOutcomeToSetBatchState
protected boolean verifyOutcomeToSetBatchState(RecordBatch.IterOutcome leftOutcome, RecordBatch.IterOutcome rightOutcome) -
prefetchFirstBatchFromBothSides
protected boolean prefetchFirstBatchFromBothSides()Prefetch first batch from both inputs.- Returns:
- true if caller should continue processing false if caller should stop and exit from processing.
-
checkForEarlyFinish
protected boolean checkForEarlyFinish(RecordBatch.IterOutcome leftOutcome, RecordBatch.IterOutcome rightOutcome) Checks for the operator specific early terminal condition.- Returns:
- true if the further processing can stop. false if the further processing is needed.
-
getBatchMemoryManager
-
updateBatchMemoryManagerStats
protected void updateBatchMemoryManagerStats() -
cancelIncoming
protected void cancelIncoming()- Specified by:
cancelIncoming
in classAbstractRecordBatch<T extends PhysicalOperator>
-