Skip to main content

ArchiveColumnSpec

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

DB-neutral description of a single archive column derived from a CkArchiveColumn.Path resolved against a target CK type. Consumed by the DDL generator (CrateDB) and by validation.

public record ArchiveColumnSpec : IEquatable<ArchiveColumnSpec>

Inheritance ObjectArchiveColumnSpec
Implements IEquatable<ArchiveColumnSpec>

Properties

Path

The original attribute path from CkArchiveColumn.Path, e.g. "voltage", "sensor.reading.value", or "readings[*].value".

public string Path { get; set; }

Property Value

String

ColumnName

The storage column name. Currently equal to ArchiveColumnSpec.Path (preserved with dots, quoted during DDL emission); kept as a separate field so future renaming logic stays type-safe.

public string ColumnName { get; set; }

Property Value

String

PrimitiveType

The leaf primitive type when ArchiveColumnSpec.IsRecord is false. null when the path terminates on a record attribute.

public Nullable<AttributeValueTypesDto> PrimitiveType { get; set; }

Property Value

Nullable<AttributeValueTypesDto>

IsRecord

True when the path terminates on a Record attribute.

public bool IsRecord { get; set; }

Property Value

Boolean

IsArray

True when the path traverses or terminates on a RecordArray or StringArray attribute (or contains [*] projection).

public bool IsArray { get; set; }

Property Value

Boolean

RecordTypeId

The CK record id when ArchiveColumnSpec.IsRecord is true; null otherwise.

public RtCkId<CkRecordId> RecordTypeId { get; set; }

Property Value

RtCkId<CkRecordId>

InheritedFromCkTypeId

The CK type id from which the leaf attribute is inherited; null when the attribute belongs to the resolved target type itself.

public RtCkId<CkTypeId> InheritedFromCkTypeId { get; set; }

Property Value

RtCkId<CkTypeId>

Constructors

ArchiveColumnSpec(String, String, Nullable<AttributeValueTypesDto>, Boolean, Boolean, RtCkId<CkRecordId>, RtCkId<CkTypeId>)

DB-neutral description of a single archive column derived from a CkArchiveColumn.Path resolved against a target CK type. Consumed by the DDL generator (CrateDB) and by validation.

public ArchiveColumnSpec(string Path, string ColumnName, Nullable<AttributeValueTypesDto> PrimitiveType, bool IsRecord, bool IsArray, RtCkId<CkRecordId> RecordTypeId, RtCkId<CkTypeId> InheritedFromCkTypeId)

Parameters

Path String
The original attribute path from CkArchiveColumn.Path, e.g. "voltage", "sensor.reading.value", or "readings[*].value".

ColumnName String
The storage column name. Currently equal to ArchiveColumnSpec.Path (preserved with dots, quoted during DDL emission); kept as a separate field so future renaming logic stays type-safe.

PrimitiveType Nullable<AttributeValueTypesDto>
The leaf primitive type when ArchiveColumnSpec.IsRecord is false. null when the path terminates on a record attribute.

IsRecord Boolean
True when the path terminates on a Record attribute.

IsArray Boolean
True when the path traverses or terminates on a RecordArray or StringArray attribute (or contains [*] projection).

RecordTypeId RtCkId<CkRecordId>
The CK record id when ArchiveColumnSpec.IsRecord is true; null otherwise.

InheritedFromCkTypeId RtCkId<CkTypeId>
The CK type id from which the leaf attribute is inherited; null when the attribute belongs to the resolved target type itself.