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
WritableColumnVectoris requested to reserve
reserveNewColumn¶
WritableColumnVector reserveNewColumn(
int capacity,
DataType type)
Used when:
WritableColumnVectoris 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:
VectorizedRleValuesReaderis requested toreadValues
reserveDictionaryIds¶
WritableColumnVector reserveDictionaryIds(
int capacity)
reserveDictionaryIds...FIXME
reserveDictionaryIds is used when:
VectorizedColumnReaderis requested to readBatchDictionaryEncoding.Decoderis requested todecompress
reserve¶
void reserve(
int requiredCapacity)
reserve...FIXME
reserve is used when:
ParquetColumnVectoris requested toassembleCollectionandassembleStructWritableColumnVectoris requested to reserveAdditional, reserveDictionaryIds and all theappends
reset¶
void reset()
reset does nothing (noop) when either isConstant or isAllNull is enabled.
reset...FIXME
reset is used when:
ParquetColumnVectoris requested toresetVectorizedDeltaByteArrayReaderis requested toskipBinary- OffHeapColumnVector and OnHeapColumnVector are created
WritableColumnVectoris requested to reserveDictionaryIdsRowToColumnarExecphysical operator is requested to doExecuteColumnar