Table of Contents

Class FieldDefinitionRecord

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

One field of a ComponentDefinitionRecord. Mirrors DBComponentDefinition.Field but carries only what the offline Workbench needs for schema rendering — runtime-only fields (CLR Type handles, foreign-key target types) are not serialised.

public sealed class FieldDefinitionRecord
Inheritance
FieldDefinitionRecord
Inherited Members

Constructors

FieldDefinitionRecord()

public FieldDefinitionRecord()

Properties

ArrayLength

Array length for fixed-size array fields; 0 for scalars.

public int ArrayLength { get; init; }

Property Value

int

FieldId

Stable field id within the component (used by index keys and tooling).

public int FieldId { get; init; }

Property Value

int

FieldType

Underlying field-type byte. Wire value matches Typhon.Schema.Definition.FieldType's enum ordinal.

public byte FieldType { get; init; }

Property Value

byte

Flags

Bit flags. 0x01 HasIndex, 0x02 IndexAllowMultiple, 0x04 IsIndexAuto, 0x08 HasSpatialIndex, 0x10 IsForeignKey.

public byte Flags { get; init; }

Property Value

byte

ForeignKeyTargetType

Foreign-key target component name (CLR full name). Empty unless Flags & 0x10.

public string ForeignKeyTargetType { get; init; }

Property Value

string

Name

Field name.

public string Name { get; init; }

Property Value

string

Offset

Byte offset of the field within the component's storage block.

public int Offset { get; init; }

Property Value

int

Size

Field byte size (stride × array length where applicable; otherwise stride).

public int Size { get; init; }

Property Value

int

SpatialCategory

Spatial category (uint.MaxValue = unset). Populated only when Flags & 0x08.

public uint SpatialCategory { get; init; }

Property Value

uint

SpatialCellSize

Spatial cell size (units of the spatial axis). Populated only when Flags & 0x08.

public float SpatialCellSize { get; init; }

Property Value

float

SpatialFieldType

Spatial index parameters — populated only when Flags & 0x08. SpatialFieldType enum ordinal.

public byte SpatialFieldType { get; init; }

Property Value

byte

SpatialMargin

Spatial margin (extra coverage). Populated only when Flags & 0x08.

public float SpatialMargin { get; init; }

Property Value

float

SpatialMode

Spatial mode enum ordinal. Populated only when Flags & 0x08.

public byte SpatialMode { get; init; }

Property Value

byte

UnderlyingType

For FieldType.Collection, the element type's enum ordinal; 0 otherwise.

public byte UnderlyingType { get; init; }

Property Value

byte