Expand description
Columnar data model used by the engine and every consumer of query results.
A column is a typed, possibly-nullable, possibly-dictionary-encoded buffer of values plus statistics, encoding metadata, and a none-bitmap.
Invariant: a column’s RowMask and NoneBitmap are always exactly aligned to its logical row count. Operations
that grow or shrink the buffer must update the mask and bitmap atomically with respect to consumers; an off-by-one
between length and mask silently produces wrong results in filter and aggregation paths.
Modules§
- buffer
ColumnBufferand its operation surface: the typed-per-primitive buffer that stores actual values.- columns
- compressed
- data
ColumnDatais the polymorphic accessor (type, length, encoding, nullability, statistics, value extraction) that each concrete data implements.Canonicalis the dense default data used for primitive-typed columns. TheCompareOpandSearchResultenums express search-and-compare operations the engine performs over arrays during selection (binary search and range probing).- encoding
- frame
- headers
- mask
- nones
- push
- Typed
Push<T>trait and its blanket implementations for every primitiveColumnBufferaccepts. - row
- row_ref
- stats
- transform
- Pure column transforms: append, filter, and take.
- view
- Read-only, structurally-typed projections over columns.