Class RunEndEncodedChunkReader

java.lang.Object
io.deephaven.extensions.barrage.chunk.BaseChunkReader<WritableChunk<Values>>
io.deephaven.extensions.barrage.chunk.RunEndEncodedChunkReader
All Implemented Interfaces:
ChunkReader<WritableChunk<Values>>

public class RunEndEncodedChunkReader extends BaseChunkReader<WritableChunk<Values>>
Reads an Arrow Run-End Encoded (REE) column from the wire into a flat Deephaven chunk.

The REE parent array has logical length numRows, null_count 0, and zero buffers. The reader consumes one parent ChunkWriter.FieldNodeInfo (no parent buffers), then reads the two children:

  1. run_ends — non-nullable Int16/Int32/Int64, numRuns cumulative 1-based end indices (last == numRows)
  2. values — the encoded value type, one value per run
The expanded flat output chunk has length numRows and the same element type as the values child.
  • Constructor Details

  • Method Details

    • readChunk

      public WritableChunk<Values> readChunk(@NotNull @NotNull Iterator<ChunkWriter.FieldNodeInfo> fieldNodeIter, @NotNull PrimitiveIterator.OfLong bufferInfoIter, @NotNull @NotNull DataInput is, @Nullable @Nullable WritableChunk<Values> outChunk, int outOffset, int totalRows) throws IOException
      Description copied from interface: ChunkReader
      Reads the given DataInput to extract the next Arrow buffer as a Deephaven Chunk.
      Parameters:
      fieldNodeIter - iterator to read fields from the stream
      bufferInfoIter - iterator to read buffers from the stream
      is - input stream containing buffers to be read
      outChunk - chunk to write to
      outOffset - offset within the outChunk to begin writing
      totalRows - total rows to write to the outChunk
      Returns:
      a Chunk containing the data from the stream
      Throws:
      IOException - if an error occurred while reading the stream