Interface PositionsAppender

All Known Implementing Classes:
BytePositionsAppender, Fixed12PositionsAppender, Int128PositionsAppender, IntPositionsAppender, LongPositionsAppender, RleAwarePositionsAppender, RowPositionsAppender, ShortPositionsAppender, SlicePositionsAppender, UnnestingPositionsAppender

public interface PositionsAppender
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    append(int position, Block source)
    Appends single position.
    void
    append(it.unimi.dsi.fastutil.ints.IntArrayList positions, Block source)
     
    void
    appendRle(Block value, int rlePositionCount)
    Appends the specified value positionCount times.
    Creates the block from the appender data.
    long
    Returns number of bytes retained by this instance in memory including over-allocations.
    long
    Returns the size of memory in bytes used by this appender.
  • Method Details

    • append

      void append(it.unimi.dsi.fastutil.ints.IntArrayList positions, Block source)
    • appendRle

      void appendRle(Block value, int rlePositionCount)
      Appends the specified value positionCount times. The result is the same as with using append(IntArrayList, Block) with positions list [0...positionCount -1] but with possible performance optimizations.
    • append

      void append(int position, Block source)
      Appends single position. The implementation must be conceptually equal to append(IntArrayList.wrap(new int[] {position}), source) but may be optimized. Caller should avoid using this method if append(IntArrayList, Block) can be used as appending positions one by one can be significantly slower and may not support features like pushing RLE through the appender.
    • build

      Block build()
      Creates the block from the appender data. After this, appender is reset to the initial state, and it is ready to build a new block.
    • getRetainedSizeInBytes

      long getRetainedSizeInBytes()
      Returns number of bytes retained by this instance in memory including over-allocations.
    • getSizeInBytes

      long getSizeInBytes()
      Returns the size of memory in bytes used by this appender.