Class LimitRecordBatch
java.lang.Object
org.apache.drill.exec.record.AbstractRecordBatch<T>
org.apache.drill.exec.record.AbstractUnaryRecordBatch<T>
org.apache.drill.exec.record.AbstractSingleRecordBatch<Limit>
org.apache.drill.exec.physical.impl.limit.LimitRecordBatch
- All Implemented Interfaces:
AutoCloseable
,Iterable<VectorWrapper<?>>
,CloseableRecordBatch
,RecordBatch
,VectorAccessible
-
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.AbstractSingleRecordBatch
incoming
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
ConstructorDescriptionLimitRecordBatch
(Limit popConfig, FragmentContext context, RecordBatch incoming) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
protected RecordBatch.IterOutcome
doWork()
void
dump()
Perform dump of this batch's state to logs.protected RecordBatch.IterOutcome
getFinalOutcome
(boolean hasRemainder) Gets the outcome to return from super implementation and then in case of EMIT outcome it refreshes the state of operator.int
Get the number of records.protected boolean
Methods inherited from class org.apache.drill.exec.record.AbstractSingleRecordBatch
getIncoming
Methods inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
cancelIncoming, getLastKnownOutcome, handleNullInput, setLastKnownOutcome
Methods inherited from class org.apache.drill.exec.record.AbstractRecordBatch
buildSchema, cancel, checkContinue, getContainer, getContext, getOutgoingContainer, getPopConfig, getRecordBatchStatsContext, getSchema, 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
-
Constructor Details
-
LimitRecordBatch
public LimitRecordBatch(Limit popConfig, FragmentContext context, RecordBatch incoming) throws OutOfMemoryException - Throws:
OutOfMemoryException
-
-
Method Details
-
innerNext
- Overrides:
innerNext
in classAbstractUnaryRecordBatch<Limit>
-
getSelectionVector2
- Specified by:
getSelectionVector2
in interfaceVectorAccessible
- Overrides:
getSelectionVector2
in classAbstractRecordBatch<Limit>
-
getRecordCount
public int getRecordCount()Description copied from interface:VectorAccessible
Get the number of records.- Returns:
- number of records
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classAbstractRecordBatch<Limit>
-
setupNewSchema
protected boolean setupNewSchema()- Specified by:
setupNewSchema
in classAbstractUnaryRecordBatch<Limit>
-
getFinalOutcome
Gets the outcome to return from super implementation and then in case of EMIT outcome it refreshes the state of operator. Refresh is done to again apply limit on all the future incoming batches which will be part of next record boundary.- Overrides:
getFinalOutcome
in classAbstractSingleRecordBatch<Limit>
- Returns:
- - IterOutcome to send downstream
-
doWork
- Specified by:
doWork
in classAbstractUnaryRecordBatch<Limit>
-
dump
public void dump()Description copied from interface:RecordBatch
Perform dump of this batch's state to logs.
-