Table of Contents

Class IndexCatalogEntry

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

One entry in the v7+ IndexCatalog table — a flat list of every B+Tree (or spatial) index defined on the schema, keyed by (ComponentTypeId, FieldId). Redundant with the per-field HasIndex flag in Fields but flat-listed here so the Workbench SchemaIndexes panel can iterate indexes without traversing every component.

public sealed class IndexCatalogEntry
Inheritance
IndexCatalogEntry
Inherited Members

Constructors

IndexCatalogEntry()

public IndexCatalogEntry()

Properties

AllowMultiple

Convenience flag — true iff the index allows multiple values per key.

public bool AllowMultiple { get; init; }

Property Value

bool

ComponentTypeId

Component type id (matches ComponentTypeId).

public int ComponentTypeId { get; init; }

Property Value

int

FieldId

Field id within the component (matches FieldId).

public int FieldId { get; init; }

Property Value

int

IsAuto

True iff the index was auto-created by the engine (vs. explicitly declared via [Index]).

public bool IsAuto { get; init; }

Property Value

bool

IsSpatial

True iff this is a spatial (R-Tree) index rather than B+Tree. Spatial entries leave Variant = 0xFF.

public bool IsSpatial { get; init; }

Property Value

bool

Variant

Index variant byte. Encodes the value-type half-byte (Byte=0 / Short=1 / Int=2 / Long=3 / Float=4 / Double=5 / Char=6 / String64=7) in the low nibble; the high nibble carries the multiplicity flag (0=Single, 1=Multiple). Matches the dispatch the engine uses to pick between SingleBTree<T> and MultipleBTree<T> at registration.

public byte Variant { get; init; }

Property Value

byte