public class BytesColumnVector extends ColumnVector
When setting data by reference, the caller is responsible for allocating the byte arrays used to hold the data. You can also set data by value, as long as you call the initBuffer() method first. You can mix "by value" and "by reference" in the same column vector, though that use is probably not typical.
ColumnVector.Type| Modifier and Type | Field and Description |
|---|---|
int[] |
length |
int[] |
start |
byte[][] |
vector |
isNull, isRepeating, noNulls| Constructor and Description |
|---|
BytesColumnVector()
Use this constructor for normal operation.
|
BytesColumnVector(int size)
Don't call this constructor except for testing purposes.
|
| Modifier and Type | Method and Description |
|---|---|
int |
bufferSize() |
void |
copySelected(boolean selectedInUse,
int[] sel,
int size,
BytesColumnVector output)
Copy the current object contents into the output.
|
void |
ensureSize(int size,
boolean preserveData)
Ensure the ColumnVector can hold at least size values.
|
void |
fill(byte[] value) |
void |
fillWithNulls() |
void |
flatten(boolean selectedInUse,
int[] sel,
int size)
Simplify vector by brute-force flattening noNulls and isRepeating
This can be used to reduce combinatorial explosion of code paths in VectorExpressions
with many arguments, at the expense of loss of some performance.
|
void |
increaseBufferSpace(int nextElemLength)
Increase buffer space enough to accommodate next element.
|
void |
init()
Initialize the column vector.
|
void |
initBuffer()
Initialize buffer to default size.
|
void |
initBuffer(int estimatedValueSize)
You must call initBuffer first before using setVal().
|
void |
reset()
Additional reset work for BytesColumnVector (releasing scratch bytes for by value strings).
|
void |
setConcat(int elementNum,
byte[] leftSourceBuf,
int leftStart,
int leftLen,
byte[] rightSourceBuf,
int rightStart,
int rightLen)
Set a field to the concatenation of two string values.
|
void |
setElement(int outElementNum,
int inputElementNum,
ColumnVector inputVector)
Set the element in this column vector from the given input vector.
|
void |
setRef(int elementNum,
byte[] sourceBuf,
int start,
int length)
Set a field by reference.
|
void |
setVal(int elementNum,
byte[] sourceBuf)
Set a field by actually copying in to a local buffer.
|
void |
setVal(int elementNum,
byte[] sourceBuf,
int start,
int length)
Set a field by actually copying in to a local buffer.
|
void |
stringifyValue(StringBuilder buffer,
int row)
Print the value for this column into the given string builder.
|
String |
toString(int row) |
flattenNoNulls, flattenPush, flattenRepeatingNulls, setRepeating, unFlattenpublic BytesColumnVector()
public BytesColumnVector(int size)
size - number of elements in the column vectorpublic void reset()
reset in class ColumnVectorpublic void setRef(int elementNum,
byte[] sourceBuf,
int start,
int length)
elementNum - index within column vector to setsourceBuf - container of source datastart - start byte position within sourcelength - length of source byte sequencepublic void initBuffer(int estimatedValueSize)
estimatedValueSize - Estimated size of buffer space neededpublic void initBuffer()
public int bufferSize()
public void setVal(int elementNum,
byte[] sourceBuf,
int start,
int length)
elementNum - index within column vector to setsourceBuf - container of source datastart - start byte position within sourcelength - length of source byte sequencepublic void setVal(int elementNum,
byte[] sourceBuf)
elementNum - index within column vector to setsourceBuf - container of source datapublic void setConcat(int elementNum,
byte[] leftSourceBuf,
int leftStart,
int leftLen,
byte[] rightSourceBuf,
int rightStart,
int rightLen)
elementNum - index within column vector to setleftSourceBuf - container of left argumentleftStart - start of left argumentleftLen - length of left argumentrightSourceBuf - container of right argumentrightStart - start of right argumentrightLen - length of right arugmentpublic void increaseBufferSpace(int nextElemLength)
nextElemLength - size of next element to be addedpublic void copySelected(boolean selectedInUse,
int[] sel,
int size,
BytesColumnVector output)
public void flatten(boolean selectedInUse,
int[] sel,
int size)
flatten in class ColumnVectorpublic void fill(byte[] value)
public void fillWithNulls()
public void setElement(int outElementNum,
int inputElementNum,
ColumnVector inputVector)
ColumnVectorsetElement in class ColumnVectorpublic void init()
ColumnVectorinit in class ColumnVectorpublic String toString(int row)
public void stringifyValue(StringBuilder buffer, int row)
ColumnVectorstringifyValue in class ColumnVectorbuffer - the buffer to print intorow - the id of the row to printpublic void ensureSize(int size,
boolean preserveData)
ColumnVectorensureSize in class ColumnVectorsize - the new minimum sizepreserveData - should the old data be preserved?Copyright © 2016 The Apache Software Foundation. All rights reserved.