Zum Hauptinhalt springen

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​

String

Indexed​

public bool Indexed { get; set; }

Property Value​

Boolean

Required​

public bool Required { get; set; }

Property Value​

Boolean

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​

String

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​

String

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​

Nullable<FormulaResultType>

ComputedState​

Engine-managed lifecycle state of a computed column. Null for ingested columns.

public Nullable<ComputedColumnState> ComputedState { get; set; }

Property Value​

Nullable<ComputedColumnState>

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​

Int32

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​

String

IsComputed​

True when this is a computed column (has a CkArchiveColumnSpec.Formula).

public bool IsComputed { get; }

Property Value​

Boolean

HasPendingFormula​

True when a formula change is mid-flight (a backfill is populating the new formula).

public bool HasPendingFormula { get; }

Property Value​

Boolean

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