Class AbstractArrayWriter.ArrayElementWriterIndex

java.lang.Object
org.apache.drill.exec.vector.accessor.writer.AbstractArrayWriter.ArrayElementWriterIndex
All Implemented Interfaces:
ColumnWriterIndex
Direct Known Subclasses:
ScalarArrayWriter.ScalarElementWriterIndex
Enclosing class:
AbstractArrayWriter

public class AbstractArrayWriter.ArrayElementWriterIndex extends Object implements ColumnWriterIndex
Index into the vector of elements for a repeated vector. Keeps track of the current offset in terms of value positions. Forwards overflow events to the base index.
  • Constructor Details

    • ArrayElementWriterIndex

      public ArrayElementWriterIndex()
  • Method Details

    • reset

      public void reset()
    • vectorIndex

      public int vectorIndex()
      Description copied from interface: ColumnWriterIndex
      Current row or array index.
      Specified by:
      vectorIndex in interface ColumnWriterIndex
      Returns:
      row or array index
    • rowStartIndex

      public int rowStartIndex()
      Description copied from interface: ColumnWriterIndex
      Index of the first entry for the current row
      Specified by:
      rowStartIndex in interface ColumnWriterIndex
      Returns:
      index of the first entry for the current row
    • arraySize

      public int arraySize()
    • nextElement

      public void nextElement()
      Description copied from interface: ColumnWriterIndex
      Increment the index for an array. For arrays, writing (or saving) one value automatically moves to the next value. Ignored for non-element indexes.
      Specified by:
      nextElement in interface ColumnWriterIndex
    • prevElement

      public void prevElement()
      Description copied from interface: ColumnWriterIndex
      Decrement the index for an array. Used exclusively for appending bytes to a VarChar, Var16Char or VarBytes column. Assumed to be followed by another call to nextElement().
      Specified by:
      prevElement in interface ColumnWriterIndex
    • next

      protected void next()
    • prev

      protected void prev()
    • valueStartOffset

      public int valueStartOffset()
    • rollover

      public void rollover()
      Description copied from interface: ColumnWriterIndex
      When handling overflow, the index must be reset so that the current row starts at the start of the vector. Relative offsets must be preserved. (That is, if the current write position for an array is four greater than the start, then that offset must now be reset to four from the start of the vector.)
      Specified by:
      rollover in interface ColumnWriterIndex
    • outerIndex

      public ColumnWriterIndex outerIndex()
      Description copied from interface: ColumnWriterIndex
      If this index represents a repeat level, return the index of the next higher repeat level.
      Specified by:
      outerIndex in interface ColumnWriterIndex
      Returns:
      the outer repeat level index, if any
    • toString

      public String toString()
      Overrides:
      toString in class Object