Class LargeVarCharVector

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

public final class LargeVarCharVector extends BaseLargeVariableWidthVector
LargeVarCharVector implements a variable width vector of VARCHAR values which could be NULL. A validity buffer (bit vector) is maintained to track which elements in the vector are null.

The offset width of this vector is 8, so the underlying buffer can be larger than 2GB.

  • Constructor Details

    • LargeVarCharVector

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

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

      public LargeVarCharVector(Field field, BufferAllocator allocator)
      Instantiate a LargeVarCharVector. 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
    • getObject

      public Text getObject(int index)
      Get the variable length element at specified index as Text.
      Parameters:
      index - position of element to get
      Returns:
      Text object 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.
    • get

      public void get(int index, NullableLargeVarCharHolder 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, LargeVarCharHolder 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, LargeVarCharHolder holder)
      Same as set(int, LargeVarCharHolder) 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, NullableLargeVarCharHolder 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, NullableLargeVarCharHolder holder)
      Same as set(int, NullableLargeVarCharHolder) 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, Text text)
      Set the variable length element at the specified index to the content in supplied Text.
      Parameters:
      index - position of the element to set
      text - Text object with data
    • setSafe

      public void setSafe(int index, Text text)
      Same as set(int, NullableLargeVarCharHolder) 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.
      text - Text object with data
    • validateScalars

      public void validateScalars()
      Description copied from class: BaseLargeVariableWidthVector
      Validate the scalar values held by this vector.
      Overrides:
      validateScalars in class BaseLargeVariableWidthVector
    • getTransferPair

      public TransferPair getTransferPair(String ref, BufferAllocator allocator)
      Construct a TransferPair comprising 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.
      Parameters:
      to - target vector
      Returns:
      TransferPair