Class ColumnarIndexSink<TypeIDType>

A StepIndexSink that encodes top-level records straight into chunked-segment typed-array columns, so the parse holds no per-record objects for the (overwhelmingly common) simple records. Records with children keep their object form — inline entities are unfolded into the inline column range at finalize, and multi-mapping holders are retained for the model's complexEntries, matching the object path's behaviour entry-for-entry.

reset supports the streaming builder's rare grow-and-restart: columns rewind to empty without reallocating the first segment.

Type Parameters

  • TypeIDType extends number

Implements

Constructors

Accessors

Methods

Constructors

Accessors

  • get topLevelCount(): number
  • Returns number

    Top-level records pushed so far.

Methods

  • Assemble the final columns: concatenate the top-level segments (one column at a time, bounding transient overhead to a single column's segments) and unfold retained inline entities into the inline range in the model's exact unfold order.

    Returns StepIndexColumns<TypeIDType>

    The finished columnar index.

  • Encode one completed top-level record into the columns. The entry object is not kept unless it carries children (inline entities / multi-mapping).

    Parameters

    Returns void

  • Rewind to empty (the streaming builder's grow-and-restart). The first segment is kept for reuse.

    Returns void