CkArchiveColumnSpec
Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData
Minimal projection of a CkArchive.columns[] entry — enough for the data-store provider
to resolve types via the CK model and generate DDL.
A column is either ingested (CkArchiveColumnSpec.Path set, CkArchiveColumnSpec.Formula null) or computed (CkArchiveColumnSpec.Formula set, CkArchiveColumnSpec.Path empty): a formula referencing other columns of the same row by name, producing a value of CkArchiveColumnSpec.ResultType. Computed columns arrived with System.StreamData 1.5.0; on older models the computed fields are null.
public record CkArchiveColumnSpec : IEquatable<CkArchiveColumnSpec>
Inheritance Object → CkArchiveColumnSpec
Implements IEquatable<CkArchiveColumnSpec>
Properties
Path
public string Path { get; set; }
Property Value
Indexed
public bool Indexed { get; set; }
Property Value
Required
public bool Required { get; set; }
Property Value
Name
Explicit output column name. For a computed column this is the formula-referenceable identifier (required); for an ingested column it is optional and the name derives from CkArchiveColumnSpec.Path.
public string Name { get; set; }
Property Value
Formula
The formula when this is a computed column (mXparser dialect, see the Formula Expressions reference). Null for ingested columns. Mutually exclusive with a non-empty CkArchiveColumnSpec.Path.
public string Formula { get; set; }
Property Value
ResultType
Declared output type the formula result is cast back to. Set for computed columns, null for ingested columns.
public Nullable<FormulaResultType> ResultType { get; set; }
Property Value
ComputedState
Engine-managed lifecycle state of a computed column. Null for ingested columns.
public Nullable<ComputedColumnState> ComputedState { get; set; }
Property Value
ComputedVersion
Engine-managed physical-column version of a computed column (AB#4189 Phase 7). 0 means the
physical column carries the column's base name (the canonical column name derived from
CkArchiveColumnSpec.Name); a value N > 0 means the active physical column is
{base}__v{N} — the result of one or more formula changes that each backfilled into a
fresh versioned physical column and flipped this pointer atomically on completion. 0 for
ingested columns. See System.StreamData 1.6.1.
public int ComputedVersion { get; set; }
Property Value
PendingFormula
Engine-managed transient marker for an in-progress formula change (AB#4189 Phase 7). While
non-null, the column keeps serving its CkArchiveColumnSpec.Formula (active, at
CkArchiveColumnSpec.ComputedVersion) and a backfill populates this new formula into the versioned
physical column {base}__v{ComputedVersion+1}; ingest dual-writes both. Null in steady
state. See System.StreamData 1.6.2.
public string PendingFormula { get; set; }
Property Value
IsComputed
True when this is a computed column (has a CkArchiveColumnSpec.Formula).
public bool IsComputed { get; }
Property Value
HasPendingFormula
True when a formula change is mid-flight (a backfill is populating the new formula).
public bool HasPendingFormula { get; }
Property Value
Constructors
CkArchiveColumnSpec(String, Boolean, Boolean)
Minimal projection of a CkArchive.columns[] entry — enough for the data-store provider
to resolve types via the CK model and generate DDL.
A column is either ingested (CkArchiveColumnSpec.Path set, CkArchiveColumnSpec.Formula null) or computed (CkArchiveColumnSpec.Formula set, CkArchiveColumnSpec.Path empty): a formula referencing other columns of the same row by name, producing a value of CkArchiveColumnSpec.ResultType. Computed columns arrived with System.StreamData 1.5.0; on older models the computed fields are null.
public CkArchiveColumnSpec(string Path, bool Indexed, bool Required)
Parameters
Path String
Indexed Boolean
Required Boolean