WritableColumnVector¶
WritableColumnVector
is an extension of the ColumnVector abstraction for writable in-memory columnar vectors.
WritableColumnVector
is used to allocate ColumnVectors for VectorizedParquetRecordReader.
Contract (Subset)¶
reserveInternal¶
void reserveInternal(
int capacity)
Used when:
- OffHeapColumnVector and OnHeapColumnVector are created
WritableColumnVector
is requested to reserve
reserveNewColumn¶
WritableColumnVector reserveNewColumn(
int capacity,
DataType type)
Used when:
WritableColumnVector
is created or requested to reserveDictionaryIds
Implementations¶
Creating Instance¶
WritableColumnVector
takes the following to be created:
- Capacity (number of rows to hold in a vector)
- Data type of the rows stored
Abstract Class
WritableColumnVector
is an abstract class and cannot be created directly. It is created indirectly for the concrete WritableColumnVectors.
reserveAdditional¶
void reserveAdditional(
int additionalCapacity)
reserveAdditional
...FIXME
reserveAdditional
is used when:
VectorizedRleValuesReader
is requested toreadValues
reserveDictionaryIds¶
WritableColumnVector reserveDictionaryIds(
int capacity)
reserveDictionaryIds
...FIXME
reserveDictionaryIds
is used when:
VectorizedColumnReader
is requested to readBatchDictionaryEncoding.Decoder
is requested todecompress
reserve¶
void reserve(
int requiredCapacity)
reserve
...FIXME
reserve
is used when:
ParquetColumnVector
is requested toassembleCollection
andassembleStruct
WritableColumnVector
is requested to reserveAdditional, reserveDictionaryIds and all theappend
s
reset¶
void reset()
reset
does nothing (noop) when either isConstant or isAllNull is enabled.
reset
...FIXME
reset
is used when:
ParquetColumnVector
is requested toreset
VectorizedDeltaByteArrayReader
is requested toskipBinary
- OffHeapColumnVector and OnHeapColumnVector are created
WritableColumnVector
is requested to reserveDictionaryIdsRowToColumnarExec
physical operator is requested to doExecuteColumnar