Interface VarLenBulkEntry


public interface VarLenBulkEntry
A bulk input entry enables us to process potentially multiple VL values in one shot (especially for very small values); please refer to org.apache.drill.exec.vector.VarBinaryVector.BulkInput.

Format -

  • data: [<val1><val2><val3>..]
  • value lengths: [<val1-len><val2-len><val3-len>..]

NOTE - Bulk entries are immutable

  • Method Details

    • getTotalLength

      int getTotalLength()
      Returns:
      total length of this bulk entry data
    • getDataStartOffset

      int getDataStartOffset()
      Returns:
      data start offset
    • arrayBacked

      boolean arrayBacked()
      Returns:
      true if this entry's data is backed by an array
    • getArrayData

      byte[] getArrayData()
      Returns:
      byte buffer containing the data; the data is located within buffer[start-offset, length-1] where buffer is the byte array returned by this method
    • getData

      DrillBuf getData()
      Returns:
      DrillBuf containing the data; the data is located within [start-offset, length-1]
    • getValuesLength

      int[] getValuesLength()
      Returns:
      length table (one per VL value)
    • getNumValues

      int getNumValues()
      Returns:
      number of values (including null values)
    • getNumNonNullValues

      int getNumNonNullValues()
      Returns:
      number of non-null values
    • hasNulls

      boolean hasNulls()
      Returns:
      true if this bulk entry has nulls; false otherwise