public class StructVector extends NonNullableStructVector implements FieldVector
Modifier and Type | Class and Description |
---|---|
protected class |
StructVector.NullableStructTransferPair
TransferPair for this (nullable) StructVector . |
NonNullableStructVector.StructTransferPair
AbstractStructVector.ConflictPolicy
Modifier and Type | Field and Description |
---|---|
protected ArrowBuf |
validityBuffer |
fieldType, valueCount
allowConflictPolicyChanges
allocator, callBack, name
Constructor and Description |
---|
StructVector(String name,
BufferAllocator allocator,
FieldType fieldType,
CallBack callBack)
Constructs a new instance.
|
StructVector(String name,
BufferAllocator allocator,
FieldType fieldType,
CallBack callBack,
AbstractStructVector.ConflictPolicy conflictPolicy,
boolean allowConflictPolicyChanges)
Constructs a new instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allocateNewSafe()
Allocates new buffers.
|
void |
clear()
Same as
close() . |
void |
close()
Close the vector and release the associated buffers.
|
static StructVector |
empty(String name,
BufferAllocator allocator) |
static StructVector |
emptyWithDuplicates(String name,
BufferAllocator allocator) |
void |
get(int index,
ComplexHolder holder) |
ArrowBuf[] |
getBuffers(boolean clear)
Return the underlying buffers associated with this vector.
|
int |
getBufferSize()
Get the size (number of bytes) of underlying buffers used by this vector.
|
int |
getBufferSizeFor(int valueCount)
Get the potential buffer size for a particular number of records.
|
ArrowBuf |
getDataBuffer()
Gets the underlying buffer associated with data vector.
|
long |
getDataBufferAddress()
Gets the starting address of the underlying buffer associated with data vector.
|
List<ArrowBuf> |
getFieldBuffers()
Get the buffers of the fields, (same size as getFieldVectors() since it is their content).
|
List<BufferBacked> |
getFieldInnerVectors()
Deprecated.
This API will be removed as the current implementations no longer support inner vectors.
|
int |
getNullCount()
Return the number of null values in the vector.
|
Map<String,?> |
getObject(int index)
Get friendly type object from the vector.
|
ArrowBuf |
getOffsetBuffer()
Gets the underlying buffer associated with offset vector.
|
long |
getOffsetBufferAddress()
Gets the starting address of the underlying buffer associated with offset vector.
|
NullableStructReaderImpl |
getReader()
Get a reader for this vector.
|
TransferPair |
getTransferPair(BufferAllocator allocator)
To transfer quota responsibility.
|
TransferPair |
getTransferPair(String ref,
BufferAllocator allocator) |
TransferPair |
getTransferPair(String ref,
BufferAllocator allocator,
CallBack callBack) |
ArrowBuf |
getValidityBuffer()
Gets the underlying buffer associated with validity vector.
|
long |
getValidityBufferAddress()
Gets the starting address of the underlying buffer associated with validity vector.
|
int |
getValueCapacity()
Get the current value capacity for the vector.
|
NullableStructWriter |
getWriter() |
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.
|
boolean |
isNull(int index)
Returns true if the value at the provided index is null.
|
int |
isSet(int index)
Returns true the value at the given index is set (i.e.
|
void |
loadFieldBuffers(ArrowFieldNode fieldNode,
List<ArrowBuf> ownBuffers)
Loads data in the vectors.
|
TransferPair |
makeTransferPair(ValueVector to)
Makes a new transfer pair used to transfer underlying buffers.
|
void |
reAlloc()
Allocate new buffer with double capacity, and copy data into the new buffer.
|
void |
reset()
Reset this vector to empty, does not release buffers.
|
void |
setIndexDefined(int index)
Marks the value at index as being set.
|
void |
setInitialCapacity(int numRecords)
Set the initial record capacity.
|
void |
setInitialCapacity(int numRecords,
double density)
Set value with density.
|
void |
setNull(int index)
Marks the value at index as null/not set.
|
void |
setValueCount(int valueCount)
Set number of values in the vector.
|
accept, copyFrom, copyFromSafe, fieldNameIterator, getChildrenFromFields, getField, getMinorType, getValueCount, getVectorById, initializeChildrenFromFields, supportsDirectRead
add, addOrGet, getChild, getChildByOrdinal, getChildFieldNames, getChildren, getChildVectorWithOrdinal, getConflictPolicy, getPrimitiveVectors, iterator, putChild, putVector, setConflictPolicy, size, toString
addOrGetFixedSizeList, addOrGetList, addOrGetMap, addOrGetStruct, addOrGetUnion, allocateNew, getAllocator, getChild, getName, typeify
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChildrenFromFields, initializeChildrenFromFields
accept, allocateNew, copyFrom, copyFromSafe, getAllocator, getField, getMinorType, getName, getValueCount
forEach, iterator, spliterator
protected ArrowBuf validityBuffer
public StructVector(String name, BufferAllocator allocator, FieldType fieldType, CallBack callBack)
name
- The name of the instance.allocator
- The allocator to use to allocating/reallocating buffers.fieldType
- The type of this list.callBack
- A schema change callback.public StructVector(String name, BufferAllocator allocator, FieldType fieldType, CallBack callBack, AbstractStructVector.ConflictPolicy conflictPolicy, boolean allowConflictPolicyChanges)
name
- The name of the instance.allocator
- The allocator to use to allocating/reallocating buffers.fieldType
- The type of this list.callBack
- A schema change callback.conflictPolicy
- policy to determine how duplicate names are handled.allowConflictPolicyChanges
- wether duplicate names are allowed at all.public static StructVector empty(String name, BufferAllocator allocator)
public static StructVector emptyWithDuplicates(String name, BufferAllocator allocator)
public void loadFieldBuffers(ArrowFieldNode fieldNode, List<ArrowBuf> ownBuffers)
FieldVector
loadFieldBuffers
in interface FieldVector
fieldNode
- the fieldNodeownBuffers
- the buffers for this Field (own buffers only, children not included)public List<ArrowBuf> getFieldBuffers()
FieldVector
getFieldBuffers
in interface FieldVector
@Deprecated public List<BufferBacked> getFieldInnerVectors()
getFieldInnerVectors
in interface FieldVector
public NullableStructReaderImpl getReader()
ValueVector
getReader
in interface ValueVector
getReader
in class NonNullableStructVector
field reader
that supports reading values
from this vector.public NullableStructWriter getWriter()
public TransferPair getTransferPair(BufferAllocator allocator)
ValueVector
getTransferPair
in interface ValueVector
getTransferPair
in class NonNullableStructVector
allocator
- the target allocatortransfer pair
, creating a new target vector of
the same type.public TransferPair makeTransferPair(ValueVector to)
ValueVector
makeTransferPair
in interface ValueVector
makeTransferPair
in class NonNullableStructVector
to
- the target for the transfertransfer pair
that is used to transfer underlying
buffers into the target vector.public TransferPair getTransferPair(String ref, BufferAllocator allocator)
getTransferPair
in interface ValueVector
getTransferPair
in class NonNullableStructVector
public TransferPair getTransferPair(String ref, BufferAllocator allocator, CallBack callBack)
getTransferPair
in interface ValueVector
getTransferPair
in class NonNullableStructVector
public int getValueCapacity()
getValueCapacity
in interface ValueVector
getValueCapacity
in class NonNullableStructVector
public ArrowBuf[] getBuffers(boolean clear)
getBuffers
in interface ValueVector
getBuffers
in class AbstractStructVector
clear
- Whether to clear vector before returning; the buffers will still be refcounted
but the returned array will be the only reference to thembuffers
that is used by this
vector instance.public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in interface ValueVector
close
in class NonNullableStructVector
public void clear()
close()
.clear
in interface ValueVector
clear
in class NonNullableStructVector
public void reset()
reset
in interface ValueVector
reset
in class NonNullableStructVector
public int getBufferSize()
getBufferSize
in interface ValueVector
getBufferSize
in class NonNullableStructVector
public int getBufferSizeFor(int valueCount)
getBufferSizeFor
in interface ValueVector
getBufferSizeFor
in class NonNullableStructVector
valueCount
- desired number of elements in the vectorpublic void setInitialCapacity(int numRecords)
ValueVector
setInitialCapacity
in interface ValueVector
setInitialCapacity
in class NonNullableStructVector
numRecords
- the initial record capacity.public void setInitialCapacity(int numRecords, double density)
DensityAwareVector
setInitialCapacity
in interface DensityAwareVector
setInitialCapacity
in class NonNullableStructVector
numRecords
- the number of values in this vectordensity
- the density of the vectorpublic boolean allocateNewSafe()
ValueVector
allocateNewSafe
in interface ValueVector
allocateNewSafe
in class AbstractStructVector
public void reAlloc()
ValueVector
reAlloc
in interface ValueVector
reAlloc
in class AbstractStructVector
public long getValidityBufferAddress()
FieldVector
getValidityBufferAddress
in interface FieldVector
public long getDataBufferAddress()
FieldVector
getDataBufferAddress
in interface FieldVector
public long getOffsetBufferAddress()
FieldVector
getOffsetBufferAddress
in interface FieldVector
public ArrowBuf getValidityBuffer()
ValueVector
getValidityBuffer
in interface ValueVector
getValidityBuffer
in class NonNullableStructVector
public ArrowBuf getDataBuffer()
ValueVector
getDataBuffer
in interface ValueVector
getDataBuffer
in class NonNullableStructVector
public ArrowBuf getOffsetBuffer()
ValueVector
getOffsetBuffer
in interface ValueVector
getOffsetBuffer
in class NonNullableStructVector
public Map<String,?> getObject(int index)
ValueVector
getObject
in interface ValueVector
getObject
in class NonNullableStructVector
index
- index of object to getpublic int hashCode(int index)
ValueVector
hashCode
in interface ValueVector
hashCode
in class NonNullableStructVector
public int hashCode(int index, ArrowBufHasher hasher)
ValueVector
hashCode
in interface ValueVector
hashCode
in class NonNullableStructVector
public void get(int index, ComplexHolder holder)
get
in class NonNullableStructVector
public int getNullCount()
getNullCount
in interface ValueVector
getNullCount
in class NonNullableStructVector
public boolean isNull(int index)
isNull
in interface ValueVector
isNull
in class NonNullableStructVector
index
- index to check for nullpublic int isSet(int index)
public void setIndexDefined(int index)
public void setNull(int index)
setNull
in interface FieldVector
index
- the value to changepublic void setValueCount(int valueCount)
ValueVector
setValueCount
in interface ValueVector
setValueCount
in class NonNullableStructVector
Copyright © 2023 The Apache Software Foundation. All rights reserved.