public final class VarCharVector extends BaseDataValueVector implements VariableWidthVector
Modifier and Type | Class and Description |
---|---|
class |
VarCharVector.Accessor |
static class |
VarCharVector.BufferedMutator
Helper class to buffer container mutation as a means to optimize native memory copy operations.
|
class |
VarCharVector.Mutator
Overview
|
BaseValueVector.BaseAccessor, BaseValueVector.BaseMutator
VariableWidthVector.VariableWidthAccessor, VariableWidthVector.VariableWidthMutator
data, emptyByteArray
allocator, field, INITIAL_VALUE_ALLOCATION, MAX_ALLOCATION_SIZE
DEFAULT_RECORD_BYTE_COUNT, MIN_BYTE_COUNT, offsetsField
BITS_VECTOR_NAME, MAX_BUFFER_SIZE, MAX_ROW_COUNT, MIN_ROW_COUNT, OFFSETS_VECTOR_NAME, VALUES_VECTOR_NAME
Constructor and Description |
---|
VarCharVector(MaterializedField field,
BufferAllocator allocator) |
Modifier and Type | Method and Description |
---|---|
void |
allocateNew()
Allocate new buffers.
|
void |
allocateNew(int totalBytes,
int valueCount)
Allocate a new memory space for this vector.
|
boolean |
allocateNewSafe()
Allocates new buffers.
|
void |
clear()
Release the underlying DrillBuf and reset the ValueVector to empty.
|
void |
collectLedgers(Set<AllocationManager.BufferLedger> ledgers)
Add the ledgers underlying the buffers underlying the components of the
vector to the set provided.
|
void |
copyEntry(int toIndex,
ValueVector from,
int fromIndex) |
protected void |
copyFrom(int fromIndex,
int thisIndex,
VarCharVector from) |
void |
copyFromSafe(int fromIndex,
int thisIndex,
VarCharVector from) |
void |
decrementAllocationMonitor() |
void |
exchange(ValueVector other)
Exchange state with another value vector of the same type.
|
VarCharVector.Accessor |
getAccessor()
Returns an
accessor that is used to read from this vector
instance. |
int |
getAllocatedSize()
Returns the total size of buffers allocated by this vector.
|
DrillBuf[] |
getBuffers(boolean clear)
Return the underlying buffers associated with this vector.
|
int |
getBufferSize()
Returns the number of bytes that is used by this vector instance.
|
int |
getBufferSizeFor(int valueCount)
Returns the number of bytes that is used by this vector if it holds the given number
of values.
|
int |
getByteCapacity()
Provide the maximum amount of variable width bytes that can be stored int his vector.
|
int |
getCurrentSizeInBytes()
Return the number of bytes contained in the current var len byte vector.
|
UserBitShared.SerializedField |
getMetadata()
Get the metadata for this field.
|
VarCharVector.Mutator |
getMutator()
Returns an
mutator that is used to write to this vector
instance. |
long |
getOffsetAddr() |
UInt4Vector |
getOffsetVector() |
int |
getPayloadByteCount(int valueCount)
Return the number of value bytes consumed by actual data.
|
FieldReader |
getReader()
Returns a
field reader that supports reading values
from this vector. |
TransferPair |
getTransferPair(BufferAllocator allocator)
Returns a
transfer pair , creating a new target vector of
the same type. |
TransferPair |
getTransferPair(String ref,
BufferAllocator allocator) |
int |
getValueCapacity()
Returns the maximum number of values that can be stored in this vector instance.
|
int |
getVarByteLength()
Return the number of bytes contained in the current var len byte vector.
|
void |
load(UserBitShared.SerializedField metadata,
DrillBuf buffer)
Load the data provided in the buffer.
|
TransferPair |
makeTransferPair(ValueVector to)
Returns a new
transfer pair that is used to transfer underlying
buffers into the target vector. |
void |
reAlloc() |
DrillBuf |
reallocRaw(int newAllocationSize)
Core of vector allocation.
|
void |
reset()
This method has a similar effect of allocateNew() without actually clearing and reallocating
the value vector.
|
void |
setInitialCapacity(int valueCount)
Set the initial record capacity
|
void |
splitAndTransferTo(int startIndex,
int length,
VarCharVector target) |
void |
toNullable(ValueVector nullableVector)
Convert a non-nullable vector to nullable by shuffling the data from
one to the other.
|
void |
transferTo(VarCharVector target) |
close, getBuffer
checkBufRefs, fillBitsVector, getAllocator, getField, getField, getMetadataBuilder, iterator, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close, getAllocator, getField
forEach, iterator, spliterator
public VarCharVector(MaterializedField field, BufferAllocator allocator)
public FieldReader getReader()
ValueVector
field reader
that supports reading values
from this vector.getReader
in interface ValueVector
public int getBufferSize()
ValueVector
getBufferSize
in interface ValueVector
getBufferSize
in class BaseDataValueVector
public int getAllocatedSize()
ValueVector
getAllocatedSize
in interface ValueVector
getAllocatedSize
in class BaseDataValueVector
public int getBufferSizeFor(int valueCount)
ValueVector
getBufferSizeFor
in interface ValueVector
valueCount
- the number of values to assume this vector containspublic int getValueCapacity()
ValueVector
getValueCapacity
in interface ValueVector
public int getByteCapacity()
VariableWidthVector
getByteCapacity
in interface VariableWidthVector
public int getCurrentSizeInBytes()
getCurrentSizeInBytes
in interface VariableWidthVector
public int getVarByteLength()
public UserBitShared.SerializedField getMetadata()
ValueVector
getMetadata
in interface ValueVector
getMetadata
in class BaseValueVector
public void load(UserBitShared.SerializedField metadata, DrillBuf buffer)
ValueVector
load
in interface ValueVector
metadata
- Metadata used to decode the incoming buffer.buffer
- The buffer that contains the ValueVector.public void clear()
ValueVector
clear
in interface ValueVector
clear
in class BaseDataValueVector
public DrillBuf[] getBuffers(boolean clear)
ValueVector
getBuffers
in interface ValueVector
getBuffers
in class BaseDataValueVector
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 long getOffsetAddr()
public UInt4Vector getOffsetVector()
getOffsetVector
in interface VariableWidthVector
public TransferPair getTransferPair(BufferAllocator allocator)
ValueVector
transfer pair
, creating a new target vector of
the same type.getTransferPair
in interface ValueVector
getTransferPair
in class BaseValueVector
public TransferPair getTransferPair(String ref, BufferAllocator allocator)
getTransferPair
in interface ValueVector
public TransferPair makeTransferPair(ValueVector to)
ValueVector
transfer pair
that is used to transfer underlying
buffers into the target vector.makeTransferPair
in interface ValueVector
public void transferTo(VarCharVector target)
public void splitAndTransferTo(int startIndex, int length, VarCharVector target)
protected void copyFrom(int fromIndex, int thisIndex, VarCharVector from)
public void copyFromSafe(int fromIndex, int thisIndex, VarCharVector from)
public void copyEntry(int toIndex, ValueVector from, int fromIndex)
copyEntry
in interface ValueVector
public void collectLedgers(Set<AllocationManager.BufferLedger> ledgers)
ValueVector
collectLedgers
in interface ValueVector
collectLedgers
in class BaseDataValueVector
ledgers
- set of ledgers to which to add ledgers for this vectorpublic int getPayloadByteCount(int valueCount)
ValueVector
getPayloadByteCount
in interface ValueVector
public void setInitialCapacity(int valueCount)
ValueVector
setInitialCapacity
in interface ValueVector
public void allocateNew()
ValueVector
allocateNew
in interface ValueVector
public boolean allocateNewSafe()
ValueVector
allocateNewSafe
in interface ValueVector
public void allocateNew(int totalBytes, int valueCount)
VariableWidthVector
allocateNew
in interface VariableWidthVector
totalBytes
- Desired size of the underlying data buffer.valueCount
- Number of values in the vector.public void reset()
BaseDataValueVector
reset
in class BaseDataValueVector
public void reAlloc()
public DrillBuf reallocRaw(int newAllocationSize)
BaseDataValueVector
reallocRaw
in class BaseDataValueVector
newAllocationSize
- new buffer size as a power of twopublic void decrementAllocationMonitor()
public VarCharVector.Accessor getAccessor()
ValueVector
accessor
that is used to read from this vector
instance.getAccessor
in interface ValueVector
getAccessor
in interface VariableWidthVector
public VarCharVector.Mutator getMutator()
ValueVector
mutator
that is used to write to this vector
instance.getMutator
in interface ValueVector
getMutator
in interface VariableWidthVector
public void exchange(ValueVector other)
ValueVector
exchange
in interface ValueVector
exchange
in class BaseDataValueVector
public void toNullable(ValueVector nullableVector)
ValueVector
toNullable
in interface ValueVector
toNullable
in class BaseValueVector
nullableVector
- nullable vector of the same minor type as
this vectorCopyright © 1970 The Apache Software Foundation. All rights reserved.