Class OperatorRecordBatch

java.lang.Object
org.apache.drill.exec.physical.impl.protocol.OperatorRecordBatch
All Implemented Interfaces:
AutoCloseable, Iterable<VectorWrapper<?>>, CloseableRecordBatch, RecordBatch, VectorAccessible

public class OperatorRecordBatch extends Object implements CloseableRecordBatch
Modular implementation of the standard Drill record batch iterator protocol. The protocol has two parts: control of the operator and access to the record batch. Each is encapsulated in separate implementation classes to allow easier customization for each situation. The operator internals are, themselves, abstracted to yet another class with the steps represented as method calls rather than as internal states as in the record batch iterator protocol.

Note that downstream operators make an assumption that the same vectors will appear from one batch to the next. That is, not only must the schema be the same, but if column "a" appears in two batches, the same value vector must back "a" in both batches. The TransferPair abstraction fails if different vectors appear across batches.