Class IndexCatalogEntry
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
ComponentTypeId
Component type id (matches ComponentTypeId).
public int ComponentTypeId { get; init; }
Property Value
FieldId
Field id within the component (matches FieldId).
public int FieldId { get; init; }
Property Value
IsAuto
True iff the index was auto-created by the engine (vs. explicitly declared via [Index]).
public bool IsAuto { get; init; }
Property Value
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
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; }