Public column type for a given declared schema kind. Used by the
schema-narrowed TimeSeries.column(name) signature (RFC §7.2)
so series.column('value') is typed as Float64Column | ChunkedFloat64Column, series.column('host') as
StringColumn | ChunkedStringColumn, etc.
Both packed and chunked variants carry the full public method
surface (per the augmentations below). Chunked methods delegate
to materialize().method() for v1 — correct, but ~2× the cost
of the packed-native path. A future PR may add chunked-native
implementations for the hot reductions; the v1 contract holds
either way.
Why include chunked in the narrow return rather than packing-
only? An earlier draft narrowed to packed-only and pushed
chunked callers to the wide column(name: string) overload,
but L2 review on PR #155 flagged this as a runtime type-safety
hole: concatSorted and other substrate paths can produce
chunked columns at runtime where the type system would say
packed. Better to widen the type and pay the
materialize-per-method cost on the rare chunked path than to
lie at the type level about what column(name) can return.
Public column type for a given declared schema kind. Used by the schema-narrowed
TimeSeries.column(name)signature (RFC §7.2) soseries.column('value')is typed asFloat64Column | ChunkedFloat64Column,series.column('host')asStringColumn | ChunkedStringColumn, etc.Both packed and chunked variants carry the full public method surface (per the augmentations below). Chunked methods delegate to
materialize().method()for v1 — correct, but ~2× the cost of the packed-native path. A future PR may add chunked-native implementations for the hot reductions; the v1 contract holds either way.Why include chunked in the narrow return rather than packing- only? An earlier draft narrowed to packed-only and pushed chunked callers to the wide
column(name: string)overload, but L2 review on PR #155 flagged this as a runtime type-safety hole:concatSortedand other substrate paths can produce chunked columns at runtime where the type system would say packed. Better to widen the type and pay the materialize-per-method cost on the rare chunked path than to lie at the type level about whatcolumn(name)can return.