Class VarBinaryVector

All Implemented Interfaces:
Closeable, AutoCloseable, Iterable<ValueVector>, DensityAwareVector, ElementAddressableVector, FieldVector, ValueVector, VariableWidthFieldVector, VariableWidthVector, VectorDefinitionSetter

public final class VarBinaryVector extends BaseVariableWidthVector
VarBinaryVector implements a variable width vector of binary values which could be NULL. A validity buffer (bit vector) is maintained to track which elements in the vector are null.
  • Constructor Details

    • VarBinaryVector

      public VarBinaryVector(String name, BufferAllocator allocator)
      Instantiate a VarBinaryVector. This doesn't allocate any memory for the data in vector.
      Parameters:
      name - name of the vector
      allocator - allocator for memory management.
    • VarBinaryVector

      public VarBinaryVector(String name, FieldType fieldType, BufferAllocator allocator)
      Instantiate a VarBinaryVector. This doesn't allocate any memory for the data in vector.
      Parameters:
      name - name of the vector
      fieldType - type of Field materialized by this vector
      allocator - allocator for memory management.
    • VarBinaryVector

      public VarBinaryVector(Field field, BufferAllocator allocator)
      Instantiate a VarBinaryVector. This doesn't allocate any memory for the data in vector.
      Parameters:
      field - field materialized by this vector
      allocator - allocator for memory management.
  • Method Details

    • getReaderImpl

      protected FieldReader 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 class BaseValueVector
      Returns:
      Returns a lambda that initializes a reader when called.
    • getMinorType

      public Types.MinorType getMinorType()
      Get minor type for this vector. The vector holds values belonging to a particular type.
      Returns:
      Types.MinorType
    • get

      public byte[] get(int index)
      Get the variable length element at specified index as byte array.
      Parameters:
      index - position of element to get
      Returns:
      array of bytes for non-null element, null otherwise
    • read

      public void read(int index, ReusableBuffer<?> buffer)
      Read the value at the given position to the given output buffer. The caller is responsible for checking for nullity first.
      Parameters:
      index - position of element.
      buffer - the buffer to write into.
    • getObject

      public byte[] getObject(int index)
      Get the variable length element at specified index as Text.
      Parameters:
      index - position of element to get
      Returns:
      byte array for non-null element, null otherwise
    • get

      public void get(int index, NullableVarBinaryHolder holder)
      Get the variable length element at specified index and sets the state in provided holder.
      Parameters:
      index - position of element to get
      holder - data holder to be populated by this function
    • set

      public void set(int index, VarBinaryHolder holder)
      Set the variable length element at the specified index to the data buffer supplied in the holder.
      Parameters:
      index - position of the element to set
      holder - holder that carries data buffer.
    • setSafe

      public void setSafe(int index, VarBinaryHolder holder)
      Same as set(int, VarBinaryHolder) except that it handles the case where index and length of new element are beyond the existing capacity of the vector.
      Parameters:
      index - position of the element to set
      holder - holder that carries data buffer.
    • set

      public void set(int index, NullableVarBinaryHolder holder)
      Set the variable length element at the specified index to the data buffer supplied in the holder.
      Parameters:
      index - position of the element to set
      holder - holder that carries data buffer.
    • setSafe

      public void setSafe(int index, NullableVarBinaryHolder holder)
      Same as set(int, NullableVarBinaryHolder) except that it handles the case where index and length of new element are beyond the existing capacity of the vector.
      Parameters:
      index - position of the element to set
      holder - holder that carries data buffer.
    • getTransferPair

      public TransferPair getTransferPair(String ref, BufferAllocator allocator)
      Construct a TransferPair comprising of this and a target vector of the same type.
      Specified by:
      getTransferPair in interface ValueVector
      Specified by:
      getTransferPair in class BaseVariableWidthVector
      Parameters:
      ref - name of the target vector
      allocator - allocator for the target vector
      Returns:
      TransferPair
    • getTransferPair

      public TransferPair getTransferPair(Field field, BufferAllocator allocator)
      Description copied from class: BaseVariableWidthVector
      Construct a transfer pair of this vector and another vector of same type.
      Specified by:
      getTransferPair in interface ValueVector
      Specified by:
      getTransferPair in class BaseVariableWidthVector
      Parameters:
      field - The field materialized by this vector.
      allocator - allocator for the target vector
      Returns:
      TransferPair
    • makeTransferPair

      public TransferPair makeTransferPair(ValueVector to)
      Construct a TransferPair with a desired target vector of the same type.
      Parameters:
      to - target vector
      Returns:
      TransferPair