Class VarLengthValuesColumn<V extends ValueVector>
java.lang.Object
org.apache.drill.exec.store.parquet.columnreaders.ColumnReader<V>
org.apache.drill.exec.store.parquet.columnreaders.VarLengthColumn
org.apache.drill.exec.store.parquet.columnreaders.VarLengthValuesColumn<V>
- Direct Known Subclasses:
NullableVarLengthValuesColumn
,VarLengthColumnReaders.VarBinaryColumn
,VarLengthColumnReaders.VarCharColumn
,VarLengthColumnReaders.VarDecimalColumn
-
Field Summary
Modifier and TypeFieldDescriptionprotected final org.apache.drill.exec.store.parquet.columnreaders.VarLenColumnBulkInput.BulkReaderState
Bulk read operation state that needs to be maintained across batch callsFields inherited from class org.apache.drill.exec.store.parquet.columnreaders.ColumnReader
DICTIONARY_ENCODINGS, VALUE_ENCODINGS, vectorData
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract VarLenColumnBulkInput<V>
newVLBulkInput
(int recordsToRead) protected boolean
protected void
readField
(long recordToRead) protected final int
readRecordsInBulk
(int recordsToRead) abstract boolean
Store a variable length entry if there is enough memory.protected abstract void
setSafe
(VarLenBulkInput<VarLenBulkEntry> bulkInput) Store a set of variable entries in bulk; this method will automatically extend the underlying value vector if needed.boolean
void
void
Methods inherited from class org.apache.drill.exec.store.parquet.columnreaders.VarLengthColumn
processPageData, reset
Methods inherited from class org.apache.drill.exec.store.parquet.columnreaders.ColumnReader
capacity, checkVectorCapacityReached, clear, determineSize, getRecordsReadInCurrentPass, hitRowGroupEnd, postPageRead, processPages, processPagesAsync, readIntLittleEndian, readPage, readPageAsync, readRecords, readRecordsAsync, readValues, recordsRequireDecoding, totalValuesReadAndReadyToReadInPage
-
Field Details
-
bulkReaderState
protected final org.apache.drill.exec.store.parquet.columnreaders.VarLenColumnBulkInput.BulkReaderState bulkReaderStateBulk read operation state that needs to be maintained across batch calls
-
-
Method Details
-
setSafe
Store a variable length entry if there is enough memory.- Parameters:
index
- entry's indexbytes
- byte array containerstart
- start offsetlength
- entry's length- Returns:
- true if the entry was successfully inserted; false otherwise
-
setSafe
Store a set of variable entries in bulk; this method will automatically extend the underlying value vector if needed.- Parameters:
bulkInput
- set of variable length entries
-
newVLBulkInput
- Returns:
- new variable bulk input object
- Throws:
IOException
-
readRecordsInBulk
- Overrides:
readRecordsInBulk
in classColumnReader
- Throws:
IOException
-
readField
protected void readField(long recordToRead) - Specified by:
readField
in classColumnReader
-
updateReadyToReadPosition
public void updateReadyToReadPosition()- Overrides:
updateReadyToReadPosition
in classColumnReader
-
updatePosition
public void updatePosition()- Overrides:
updatePosition
in classColumnReader
-
skipReadyToReadPositionUpdate
public boolean skipReadyToReadPositionUpdate()- Specified by:
skipReadyToReadPositionUpdate
in classVarLengthColumn
-
readAndStoreValueSizeInformation
- Specified by:
readAndStoreValueSizeInformation
in classVarLengthColumn
- Throws:
IOException
-