Class LargeVarBinaryVector

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

public final class LargeVarBinaryVector extends BaseLargeVariableWidthVector implements ValueIterableVector<byte[]>
LargeVarBinaryVector implements a large 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. The size of the underlying buffer can be over 2GB.
  • Constructor Details

    • LargeVarBinaryVector

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

      public LargeVarBinaryVector(String name, FieldType fieldType, BufferAllocator allocator)
      Instantiate a LargeVarBinaryVector. 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.
    • LargeVarBinaryVector

      public LargeVarBinaryVector(Field field, BufferAllocator allocator)
      Instantiate a LargeVarBinaryVector. 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.
      Specified by:
      getMinorType in interface ValueVector
      Returns:
      Types.MinorType
    • get

      public byte[] get(int index)
      Get the variable length element at specified index as byte array.
      Specified by:
      get in interface VariableWidthFieldVector
      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.
      Specified by:
      read in interface VariableWidthFieldVector
      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.
      Specified by:
      getObject in interface ValueVector
      Parameters:
      index - position of element to get
      Returns:
      byte array for non-null element, null otherwise
    • get

      public void get(int index, NullableLargeVarBinaryHolder 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, LargeVarBinaryHolder 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, LargeVarBinaryHolder holder)
      Same as set(int, LargeVarBinaryHolder) 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, NullableLargeVarBinaryHolder 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, NullableLargeVarBinaryHolder holder)
      Same as set(int, NullableLargeVarBinaryHolder) 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 BaseLargeVariableWidthVector
      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: BaseLargeVariableWidthVector
      Construct a transfer pair of this vector and another vector of same type.
      Specified by:
      getTransferPair in interface ValueVector
      Specified by:
      getTransferPair in class BaseLargeVariableWidthVector
      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.
      Specified by:
      makeTransferPair in interface ValueVector
      Parameters:
      to - target vector
      Returns:
      TransferPair