java.lang.Object
org.apache.arrow.vector.BaseValueVector
org.apache.arrow.vector.BaseLargeVariableWidthVector
org.apache.arrow.vector.LargeVarCharVector
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<ValueVector>,DensityAwareVector,ElementAddressableVector,FieldVector,ValueIterableVector<Text>,ValueVector,VariableWidthFieldVector,VariableWidthVector,VectorDefinitionSetter
public final class LargeVarCharVector
extends BaseLargeVariableWidthVector
implements ValueIterableVector<Text>
LargeVarCharVector implements a variable width vector of VARCHAR values which could be NULL. A
validity buffer (bit vector) is maintained to track which elements in the vector are null.
The offset width of this vector is 8, so the underlying buffer can be larger than 2GB.
-
Field Summary
Fields inherited from class org.apache.arrow.vector.BaseLargeVariableWidthVector
emptyByteArray, field, lastSet, OFFSET_WIDTH, offsetBuffer, valueBufferFields inherited from class org.apache.arrow.vector.BaseValueVector
allocator, fieldReader, INITIAL_VALUE_ALLOCATION, MAX_ALLOCATION_SIZE, MAX_ALLOCATION_SIZE_PROPERTY, validityBuffer, valueCount -
Constructor Summary
ConstructorsConstructorDescriptionLargeVarCharVector(String name, BufferAllocator allocator) Instantiate a LargeVarCharVector.LargeVarCharVector(String name, FieldType fieldType, BufferAllocator allocator) Instantiate a LargeVarCharVector.LargeVarCharVector(Field field, BufferAllocator allocator) Instantiate a LargeVarCharVector. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]get(int index) Get the variable length element at specified index as byte array.voidget(int index, NullableLargeVarCharHolder holder) Get the variable length element at specified index and sets the state in provided holder.Get minor type for this vector.getObject(int index) Get the variable length element at specified index as Text.protected FieldReaderEach vector has a different reader that implements the FieldReader interface.getTransferPair(String ref, BufferAllocator allocator) Construct a TransferPair comprising this and a target vector of the same type.getTransferPair(Field field, BufferAllocator allocator) Construct a transfer pair of this vector and another vector of same type.Construct a TransferPair with a desired target vector of the same type.voidread(int index, ReusableBuffer<?> buffer) Read the value at the given position to the given output buffer.voidset(int index, LargeVarCharHolder holder) Set the variable length element at the specified index to the data buffer supplied in the holder.voidset(int index, NullableLargeVarCharHolder holder) Set the variable length element at the specified index to the data buffer supplied in the holder.voidSet the variable length element at the specified index to the content in supplied Text.voidsetSafe(int index, LargeVarCharHolder holder) Same asset(int, LargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.voidsetSafe(int index, NullableLargeVarCharHolder holder) Same asset(int, NullableLargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.voidSame asset(int, NullableLargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.voidValidate the scalar values held by this vector.Methods inherited from class org.apache.arrow.vector.BaseLargeVariableWidthVector
accept, allocateNew, allocateNew, allocateNew, allocateNewSafe, allocateValidityBuffer, clear, close, copyFrom, copyFromSafe, exportCDataBuffers, fillEmpties, fillHoles, get, getBuffers, getBufferSize, getBufferSizeFor, getByteCapacity, getChildrenFromFields, getDataBuffer, getDataBufferAddress, getDataPointer, getDataPointer, getDensity, getEndOffset, getField, getFieldBuffers, getFieldInnerVectors, getLastSet, getName, getNullCount, getOffsetBuffer, getOffsetBufferAddress, getStartOffset, getTransferPair, getTransferPair, getTransferPair, getValidityBuffer, getValidityBufferAddress, getValueCapacity, getValueCount, getValueLength, handleSafe, hashCode, hashCode, initializeChildrenFromFields, isNull, isSafe, isSet, loadFieldBuffers, reAlloc, reallocDataBuffer, reallocValidityAndOffsetBuffers, reset, set, set, set, set, set, set, setBytes, setIndexDefined, setInitialCapacity, setInitialCapacity, setLastSet, setNull, setSafe, setSafe, setSafe, setSafe, setSafe, setValueCount, setValueLengthSafe, sizeOfValueBuffer, sliceAndTransferValidityBuffer, splitAndTransferTo, transferTo, zeroVectorMethods inherited from class org.apache.arrow.vector.BaseValueVector
checkBufRefs, copyValidityBuffer, getAllocator, getReader, getValidityBufferSizeFromCount, iterator, releaseBuffer, splitAndTransferValidityBuffer, toString, transferBufferMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.arrow.vector.FieldVector
exportBuffer, getExportedCDataBufferCountMethods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface org.apache.arrow.vector.ValueIterableVector
getValueIterable, getValueIteratorMethods inherited from interface org.apache.arrow.vector.ValueVector
accept, allocateNew, allocateNewSafe, clear, close, copyFrom, copyFromSafe, getAllocator, getBuffers, getBufferSize, getBufferSizeFor, getDataBuffer, getField, getName, getNullCount, getOffsetBuffer, getReader, getTransferPair, getTransferPair, getTransferPair, getValidityBuffer, getValueCapacity, getValueCount, hashCode, hashCode, isNull, reAlloc, reset, setInitialCapacity, setValueCount, validate, validateFull
-
Constructor Details
-
LargeVarCharVector
Instantiate a LargeVarCharVector. This doesn't allocate any memory for the data in vector.- Parameters:
name- name of the vectorallocator- allocator for memory management.
-
LargeVarCharVector
Instantiate a LargeVarCharVector. This doesn't allocate any memory for the data in vector.- Parameters:
name- name of the vectorfieldType- type of Field materialized by this vectorallocator- allocator for memory management.
-
LargeVarCharVector
Instantiate a LargeVarCharVector. This doesn't allocate any memory for the data in vector.- Parameters:
field- field materialized by this vectorallocator- allocator for memory management.
-
-
Method Details
-
getReaderImpl
Description copied from class:BaseValueVectorEach vector has a different reader that implements the FieldReader interface. Overridden methods must make sure to return the correct concrete reader implementation.- Specified by:
getReaderImplin classBaseValueVector- Returns:
- Returns a lambda that initializes a reader when called.
-
getMinorType
Get minor type for this vector. The vector holds values belonging to a particular type.- Specified by:
getMinorTypein interfaceValueVector- Returns:
Types.MinorType
-
get
public byte[] get(int index) Get the variable length element at specified index as byte array.- Specified by:
getin interfaceVariableWidthFieldVector- Parameters:
index- position of element to get- Returns:
- array of bytes for non-null element, null otherwise
-
getObject
Get the variable length element at specified index as Text.- Specified by:
getObjectin interfaceValueVector- Parameters:
index- position of element to get- Returns:
- Text object for non-null element, null otherwise
-
read
Read the value at the given position to the given output buffer. The caller is responsible for checking for nullity first.- Specified by:
readin interfaceVariableWidthFieldVector- Parameters:
index- position of element.buffer- the buffer to write into.
-
get
Get the variable length element at specified index and sets the state in provided holder.- Parameters:
index- position of element to getholder- data holder to be populated by this function
-
set
Set the variable length element at the specified index to the data buffer supplied in the holder.- Parameters:
index- position of the element to setholder- holder that carries data buffer.
-
setSafe
Same asset(int, LargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.- Parameters:
index- position of the element to setholder- holder that carries data buffer.
-
set
Set the variable length element at the specified index to the data buffer supplied in the holder.- Parameters:
index- position of the element to setholder- holder that carries data buffer.
-
setSafe
Same asset(int, NullableLargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.- Parameters:
index- position of the element to setholder- holder that carries data buffer.
-
set
Set the variable length element at the specified index to the content in supplied Text.- Parameters:
index- position of the element to settext- Text object with data
-
setSafe
Same asset(int, NullableLargeVarCharHolder)except that it handles the case where index and length of new element are beyond the existing capacity of the vector.- Parameters:
index- position of the element to set.text- Text object with data
-
validateScalars
public void validateScalars()Description copied from class:BaseLargeVariableWidthVectorValidate the scalar values held by this vector.- Overrides:
validateScalarsin classBaseLargeVariableWidthVector
-
getTransferPair
Construct a TransferPair comprising this and a target vector of the same type.- Specified by:
getTransferPairin interfaceValueVector- Specified by:
getTransferPairin classBaseLargeVariableWidthVector- Parameters:
ref- name of the target vectorallocator- allocator for the target vector- Returns:
TransferPair
-
getTransferPair
Description copied from class:BaseLargeVariableWidthVectorConstruct a transfer pair of this vector and another vector of same type.- Specified by:
getTransferPairin interfaceValueVector- Specified by:
getTransferPairin classBaseLargeVariableWidthVector- Parameters:
field- The field materialized by this vectorallocator- allocator for the target vector- Returns:
- TransferPair
-
makeTransferPair
Construct a TransferPair with a desired target vector of the same type.- Specified by:
makeTransferPairin interfaceValueVector- Parameters:
to- target vector- Returns:
TransferPair
-