public final class BitVector extends BaseFixedWidthVector
actualValueCapacity, field, lastValueCapacity, validityBuffer, valueBuffer, valueCount
allocator, fieldReader, INITIAL_VALUE_ALLOCATION, MAX_ALLOCATION_SIZE, MAX_ALLOCATION_SIZE_PROPERTY
Constructor and Description |
---|
BitVector(Field field,
BufferAllocator allocator)
Instantiate a BitVector.
|
BitVector(String name,
BufferAllocator allocator)
Instantiate a BitVector.
|
BitVector(String name,
FieldType fieldType,
BufferAllocator allocator)
Instantiate a BitVector.
|
Modifier and Type | Method and Description |
---|---|
void |
copyFrom(int fromIndex,
int thisIndex,
ValueVector from)
Copy a cell value from a particular index in source vector to a particular
position in this vector.
|
int |
get(int index)
Get the element at the given index from the vector.
|
void |
get(int index,
NullableBitHolder holder)
Get the element at the given index from the vector and
sets the state in holder.
|
int |
getBufferSize()
Get the size (number of bytes) of underlying buffers used by this vector.
|
int |
getBufferSizeFor(int count)
Get the potential buffer size for a particular number of records.
|
ArrowBufPointer |
getDataPointer(int index)
Gets the pointer for the data at the given index.
|
ArrowBufPointer |
getDataPointer(int index,
ArrowBufPointer reuse)
Gets the pointer for the data at the given index.
|
Types.MinorType |
getMinorType()
Get minor type for this vector.
|
Boolean |
getObject(int index)
Same as
get(int) . |
protected FieldReader |
getReaderImpl()
Each vector has a different reader that implements the FieldReader interface.
|
TransferPair |
getTransferPair(Field field,
BufferAllocator allocator)
Construct a TransferPair comprising this and a target vector of
the same type.
|
TransferPair |
getTransferPair(String ref,
BufferAllocator allocator)
Construct a TransferPair comprising this and a target vector of
the same type.
|
protected int |
getValueBufferValueCapacity() |
int |
hashCode(int index)
Returns hashCode of element in index with the default hasher.
|
int |
hashCode(int index,
ArrowBufHasher hasher)
Returns hashCode of element in index with the given hasher.
|
TransferPair |
makeTransferPair(ValueVector to)
Construct a TransferPair with a desired target vector of the same type.
|
void |
set(int index,
BitHolder holder)
Set the element at the given index to the value set in data holder.
|
void |
set(int index,
int value)
Set the element at the given index to the given value.
|
void |
set(int index,
int isSet,
int value)
Store the given value at a particular position in the vector.
|
void |
set(int index,
NullableBitHolder holder)
Set the element at the given index to the value set in data holder.
|
void |
setInitialCapacity(int valueCount)
Sets the desired value capacity for the vector.
|
void |
setRangeToOne(int firstBitIndex,
int count)
Set count bits to 1 in data starting at firstBitIndex.
|
void |
setSafe(int index,
BitHolder holder)
Same as
set(int, BitHolder) except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity() . |
void |
setSafe(int index,
int value)
Same as
set(int, int) except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity() . |
void |
setSafe(int index,
int isSet,
int value)
Same as
set(int, int, int) except that it handles the case
when index is greater than or equal to current value capacity of the
vector. |
void |
setSafe(int index,
NullableBitHolder holder)
Same as
set(int, NullableBitHolder) except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity() . |
void |
setSafeToOne(int index)
Same as
setToOne(int) except that it handles the case when
index is greater than or equal to current value capacity of the vector. |
void |
setToOne(int index)
Set the element at the given index to one.
|
void |
splitAndTransferTo(int startIndex,
int length,
BaseFixedWidthVector target)
Slice this vector at desired index and length and transfer the
corresponding data to the target vector.
|
accept, allocateNew, allocateNew, allocateNewSafe, clear, close, copyFromSafe, decrementAllocationMonitor, getBuffers, getChildrenFromFields, getDataBuffer, getDataBufferAddress, getField, getFieldBuffers, getFieldInnerVectors, getName, getNullCount, getOffsetBuffer, getOffsetBufferAddress, getTransferPair, getTransferPair, getTypeWidth, getValidityBuffer, getValidityBufferAddress, getValidityBufferValueCapacity, getValueCapacity, getValueCount, handleSafe, incrementAllocationMonitor, initializeChildrenFromFields, isNull, isSafe, isSet, loadFieldBuffers, reAlloc, refreshValueCapacity, reset, set, set, setIndexDefined, setNull, setSafe, setSafe, setValueCount, transferTo, validateScalars, zeroVector
checkBufRefs, getAllocator, getReader, getValidityBufferSizeFromCount, iterator, releaseBuffer, toString, transferBuffer
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getAllocator, getReader, validate, validateFull
forEach, iterator, spliterator
public BitVector(String name, BufferAllocator allocator)
name
- name of the vectorallocator
- allocator for memory management.public BitVector(String name, FieldType fieldType, BufferAllocator allocator)
name
- name of the vectorfieldType
- type of Field materialized by this vectorallocator
- allocator for memory management.public BitVector(Field field, BufferAllocator allocator)
field
- the Field materialized by this vectorallocator
- allocator for memory management.protected FieldReader getReaderImpl()
BaseValueVector
getReaderImpl
in class BaseValueVector
public Types.MinorType getMinorType()
Types.MinorType
public void setInitialCapacity(int valueCount)
setInitialCapacity
in interface ValueVector
setInitialCapacity
in class BaseFixedWidthVector
valueCount
- desired number of elements in the vectorprotected int getValueBufferValueCapacity()
getValueBufferValueCapacity
in class BaseFixedWidthVector
public int getBufferSizeFor(int count)
getBufferSizeFor
in interface ValueVector
getBufferSizeFor
in class BaseFixedWidthVector
count
- desired number of elements in the vectorpublic int getBufferSize()
getBufferSize
in interface ValueVector
getBufferSize
in class BaseFixedWidthVector
public void splitAndTransferTo(int startIndex, int length, BaseFixedWidthVector target)
splitAndTransferTo
in class BaseFixedWidthVector
startIndex
- start position of the split in source vector.length
- length of the split.target
- destination vectorpublic int get(int index) throws IllegalStateException
index
- position of elementIllegalStateException
public void get(int index, NullableBitHolder holder)
index
- position of elementpublic Boolean getObject(int index)
get(int)
.index
- position of elementpublic void copyFrom(int fromIndex, int thisIndex, ValueVector from)
copyFrom
in interface ValueVector
copyFrom
in class BaseFixedWidthVector
fromIndex
- position to copy from in source vectorthisIndex
- position to copy to in this vectorfrom
- source vectorpublic void set(int index, int value)
index
- position of elementvalue
- value of elementpublic void set(int index, NullableBitHolder holder) throws IllegalArgumentException
index
- position of elementholder
- nullable data holder for value of elementIllegalArgumentException
public void set(int index, BitHolder holder)
index
- position of elementholder
- data holder for value of elementpublic void setSafe(int index, int value)
set(int, int)
except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity()
.index
- position of elementvalue
- value of elementpublic void setSafe(int index, NullableBitHolder holder) throws IllegalArgumentException
set(int, NullableBitHolder)
except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity()
.index
- position of elementholder
- nullable data holder for value of elementIllegalArgumentException
public void setSafe(int index, BitHolder holder)
set(int, BitHolder)
except that it handles the
case when index is greater than or equal to existing
value capacity BaseFixedWidthVector.getValueCapacity()
.index
- position of elementholder
- data holder for value of elementpublic void set(int index, int isSet, int value)
index
- position of the new valueisSet
- 0 for NULL value, 1 otherwisevalue
- element valuepublic void setSafe(int index, int isSet, int value)
set(int, int, int)
except that it handles the case
when index is greater than or equal to current value capacity of the
vector.index
- position of the new valueisSet
- 0 for NULL value, 1 otherwisevalue
- element valuepublic void setToOne(int index)
index
- position of elementpublic void setSafeToOne(int index)
setToOne(int)
except that it handles the case when
index is greater than or equal to current value capacity of the vector.index
- position of the elementpublic ArrowBufPointer getDataPointer(int index)
ElementAddressableVector
getDataPointer
in interface ElementAddressableVector
getDataPointer
in class BaseFixedWidthVector
index
- the index for the data.public ArrowBufPointer getDataPointer(int index, ArrowBufPointer reuse)
ElementAddressableVector
getDataPointer
in interface ElementAddressableVector
getDataPointer
in class BaseFixedWidthVector
index
- the index for the data.reuse
- the data pointer to fill, this avoids creating a new pointer object.public int hashCode(int index)
ValueVector
hashCode
in interface ValueVector
hashCode
in class BaseFixedWidthVector
public int hashCode(int index, ArrowBufHasher hasher)
ValueVector
hashCode
in interface ValueVector
hashCode
in class BaseFixedWidthVector
public void setRangeToOne(int firstBitIndex, int count)
firstBitIndex
- the index of the first bit to setcount
- the number of bits to setpublic TransferPair getTransferPair(String ref, BufferAllocator allocator)
getTransferPair
in interface ValueVector
getTransferPair
in class BaseFixedWidthVector
ref
- name of the target vectorallocator
- allocator for the target vectorTransferPair
public TransferPair getTransferPair(Field field, BufferAllocator allocator)
getTransferPair
in class BaseFixedWidthVector
field
- Field object used by the target vectorallocator
- allocator for the target vectorTransferPair
public TransferPair makeTransferPair(ValueVector to)
to
- target vectorTransferPair
Copyright © 2023 The Apache Software Foundation. All rights reserved.