Class ColumnEncoding

java.lang.Object
io.deephaven.extensions.barrage.ColumnEncoding

public final class ColumnEncoding extends Object
Arrow encoding to apply to a column when generating a Barrage schema. Auto-detected per column by BarrageUtil.schemaFromTable(io.deephaven.engine.table.Table) when structural guarantees make a particular encoding clearly beneficial, or specified explicitly via Table.BARRAGE_SCHEMA_ATTRIBUTE.

An encoding carries two independent facets: an optional run-end encoding (REE) run_ends index width, and an optional dictionary-index width. When both are present the column is doubly-encoded as RunEndEncoded<Dictionary<...>> -- REE collapses runs on the row axis and the dictionary dedupes the per-run values. The historical single-facet constants (RUN_END_ENCODED_INT32, DICTIONARY_ENCODED_INT32, ...) remain available as canonical singletons; compose them with withDictionary(io.deephaven.extensions.barrage.ColumnEncoding.DictWidth) / withRunEnd(io.deephaven.extensions.barrage.ColumnEncoding.RunEndWidth).