Package org.apache.arrow.vector
Class ViewVarBinaryVector
java.lang.Object
org.apache.arrow.vector.BaseValueVector
org.apache.arrow.vector.BaseVariableWidthViewVector
org.apache.arrow.vector.ViewVarBinaryVector
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<ValueVector>
,DensityAwareVector
,ElementAddressableVector
,FieldVector
,ValueIterableVector<byte[]>
,ValueVector
,VariableWidthFieldVector
,VariableWidthVector
,VectorDefinitionSetter
public final class ViewVarBinaryVector
extends BaseVariableWidthViewVector
implements ValueIterableVector<byte[]>
ViewVarBinaryVector implements a variable width view vector of binary values which could be NULL.
A validity buffer (bit vector) is maintained to track which elements in the vector are null.
-
Field Summary
Fields inherited from class org.apache.arrow.vector.BaseVariableWidthViewVector
BUF_INDEX_WIDTH, dataBuffers, ELEMENT_SIZE, EMPTY_BYTE_ARRAY, field, INITIAL_VIEW_VALUE_ALLOCATION, initialDataBufferSize, INLINE_SIZE, lastSet, LENGTH_WIDTH, PREFIX_WIDTH, validityBuffer, valueCount, viewBuffer
Fields inherited from class org.apache.arrow.vector.BaseValueVector
allocator, fieldReader, INITIAL_VALUE_ALLOCATION, MAX_ALLOCATION_SIZE, MAX_ALLOCATION_SIZE_PROPERTY
-
Constructor Summary
ConstructorDescriptionViewVarBinaryVector
(String name, BufferAllocator allocator) Instantiate a ViewVarBinaryVector.ViewVarBinaryVector
(String name, FieldType fieldType, BufferAllocator allocator) Instantiate a ViewVarBinaryVector.ViewVarBinaryVector
(Field field, BufferAllocator allocator) Instantiate a ViewVarBinaryVector. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
get
(int index) Get the variable length element at specified index as a byte array.void
get
(int index, NullableViewVarBinaryHolder holder) Get the variable length element at specified index and sets the state in provided holder.Get a minor type for this vector.byte[]
getObject
(int index) Get the variable length element at a specified index as a byte array.protected FieldReader
Each 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 the same type.Construct a TransferPair with a desired target vector of the same type.void
read
(int index, ReusableBuffer<?> buffer) Read the value at the given position to the given output buffer.void
set
(int index, NullableViewVarBinaryHolder holder) Set the variable length element at the specified index to the data buffer supplied in the holder.void
set
(int index, ViewVarBinaryHolder holder) Set the variable length element at the specified index to the data buffer supplied in the holder.void
setSafe
(int index, NullableViewVarBinaryHolder holder) Same asset(int, NullableViewVarBinaryHolder)
except that it handles the case where index and length of a new element are beyond the existing capacity of the vector.void
setSafe
(int index, ViewVarBinaryHolder holder) Same asset(int, ViewVarBinaryHolder)
except that it handles the case where index and length of a new element are beyond the existing capacity of the vector.Methods inherited from class org.apache.arrow.vector.BaseVariableWidthViewVector
accept, allocateNew, allocateNew, allocateNew, allocateNewSafe, allocateOrGetLastDataBuffer, clear, clearDataBuffers, close, copyFrom, copyFromSafe, exportCDataBuffers, fillEmpties, getBuffers, getBufferSize, getBufferSizeFor, getByteCapacity, getChildrenFromFields, getData, getData, getDataBuffer, getDataBufferAddress, getDataBuffers, getDataPointer, getDataPointer, getDensity, getExportedCDataBufferCount, getField, getFieldBuffers, getFieldInnerVectors, getLastSet, getName, getNullCount, getOffsetBuffer, getOffsetBufferAddress, getTotalValueLengthUpToIndex, getTransferPair, getTransferPair, getTransferPair, getValidityBuffer, getValidityBufferAddress, getValueCapacity, getValueCount, getValueLength, handleSafe, hashCode, hashCode, initializeChildrenFromFields, isNull, isSafe, isSet, loadFieldBuffers, reAlloc, reallocValidityBuffer, reallocViewBuffer, reallocViewBuffer, reallocViewDataBuffer, reallocViewDataBuffer, reset, set, set, set, set, set, setBytes, setBytes, setIndexDefined, setInitialCapacity, setInitialCapacity, setLastSet, setNull, setSafe, setSafe, setSafe, setSafe, setSafe, setValueCount, setValueLengthSafe, sizeOfValueBuffer, sizeOfViewBufferElements, splitAndTransferTo, transferTo, validateScalars, zeroVector
Methods inherited from class org.apache.arrow.vector.BaseValueVector
checkBufRefs, getAllocator, getReader, getValidityBufferSizeFromCount, iterator, releaseBuffer, toString, transferBuffer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.arrow.vector.FieldVector
exportBuffer
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface org.apache.arrow.vector.ValueIterableVector
getValueIterable, getValueIterator
Methods 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
-
ViewVarBinaryVector
Instantiate a ViewVarBinaryVector. This doesn't allocate any memory for the data in vector.- Parameters:
name
- name of the vectorallocator
- allocator for memory management.
-
ViewVarBinaryVector
Instantiate a ViewVarBinaryVector. 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.
-
ViewVarBinaryVector
Instantiate a ViewVarBinaryVector. 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:BaseValueVector
Each vector has a different reader that implements the FieldReader interface. Overridden methods must make sure to return the correct concrete reader implementation.- Specified by:
getReaderImpl
in classBaseValueVector
- Returns:
- Returns a lambda that initializes a reader when called.
-
getMinorType
Get a minor type for this vector. The vector holds values belonging to a particular type.- Specified by:
getMinorType
in interfaceValueVector
- Returns:
Types.MinorType
-
get
public byte[] get(int index) Get the variable length element at specified index as a byte array.- Specified by:
get
in interfaceVariableWidthFieldVector
- Parameters:
index
- position of an element to get- Returns:
- array of bytes for a 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:
read
in interfaceVariableWidthFieldVector
- Parameters:
index
- position of an element.buffer
- the buffer to write into.
-
getObject
public byte[] getObject(int index) Get the variable length element at a specified index as a byte array.- Specified by:
getObject
in interfaceValueVector
- Parameters:
index
- position of an element to get- Returns:
- byte array for a non-null element, null otherwise
-
get
Get the variable length element at specified index and sets the state in provided holder.- Parameters:
index
- position of an 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, ViewVarBinaryHolder)
except that it handles the case where index and length of a 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, NullableViewVarBinaryHolder)
except that it handles the case where index and length of a new element are beyond the existing capacity of the vector.- Parameters:
index
- position of the element to setholder
- holder that carries data buffer.
-
getTransferPair
Construct a TransferPair comprising this and a target vector of the same type.- Specified by:
getTransferPair
in interfaceValueVector
- Specified by:
getTransferPair
in classBaseVariableWidthViewVector
- Parameters:
ref
- name of the target vectorallocator
- allocator for the target vector- Returns:
TransferPair
-
getTransferPair
Description copied from class:BaseVariableWidthViewVector
Construct a transfer pair of this vector and another vector of the same type.- Specified by:
getTransferPair
in interfaceValueVector
- Specified by:
getTransferPair
in classBaseVariableWidthViewVector
- Parameters:
field
- The field materialized by this vector.allocator
- allocator for the target vector- Returns:
- TransferPair
-
makeTransferPair
Construct a TransferPair with a desired target vector of the same type.- Specified by:
makeTransferPair
in interfaceValueVector
- Parameters:
to
- target vector- Returns:
TransferPair
-