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
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
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
IsArray
True when the path traverses or terminates on a RecordArray or
StringArray attribute (or contains [*] projection).
public bool IsArray { get; set; }
Property Value
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.