Zum Hauptinhalt springen

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 Object → ArchiveColumnSpec
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.