Class VarCharVector

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

public final class VarCharVector extends BaseVariableWidthVector implements ValueIterableVector<Text>
VarCharVector 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.
  • Constructor Details

    • VarCharVector

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

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

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

      public Text 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:
      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.
      Specified by:
      read in interface VariableWidthFieldVector
      Parameters:
      index - position of element.
      buffer - the buffer to write into.
    • get

      public void get(int index, NullableVarCharHolder 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, VarCharHolder 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, VarCharHolder holder)
      Same as set(int, VarCharHolder) 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, NullableVarCharHolder 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, NullableVarCharHolder holder)
      Same as set(int, NullableVarCharHolder) 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, NullableVarCharHolder) 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: BaseVariableWidthVector
      Validate the scalar values held by this vector.
      Overrides:
      validateScalars in class BaseVariableWidthVector
    • 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.
      Specified by:
      makeTransferPair in interface ValueVector
      Parameters:
      to - target vector
      Returns:
      TransferPair