graflo.architecture.evolution.ops.indexes¶
Ops that add or remove secondary indexes.
Classes¶
AddEdgeIndexesOp
¶
Bases: ConfigBaseModel
Author secondary indexes on edge physical specs.
Source code in graflo/architecture/evolution/ops/indexes.py
AddVertexIndexesOp
¶
Bases: ConfigBaseModel
Author secondary indexes on vertices in the database profile.
Source code in graflo/architecture/evolution/ops/indexes.py
EdgeIndexEntry
¶
Bases: ConfigBaseModel
Indexes for one edge physical spec.
Source code in graflo/architecture/evolution/ops/indexes.py
Attributes¶
fields = PydanticField(default_factory=list, description='Field lists identifying indexes to remove from this spec.')
class-attribute
instance-attribute
¶
indexes = PydanticField(default_factory=list, description='Indexes to add to this spec.')
class-attribute
instance-attribute
¶
purpose = PydanticField(default=None, description='Physical variant purpose; ``None`` addresses the base spec.')
class-attribute
instance-attribute
¶
relation = PydanticField(default=None, description='Relation name; ``None`` matches the edge with no relation set.')
class-attribute
instance-attribute
¶
source = PydanticField(..., description='Source vertex type name.')
class-attribute
instance-attribute
¶
target = PydanticField(..., description='Target vertex type name.')
class-attribute
instance-attribute
¶
Methods:¶
RemoveEdgeIndexesOp
¶
Bases: ConfigBaseModel
Withdraw authored indexes from edge physical specs, addressed by field list.
Source code in graflo/architecture/evolution/ops/indexes.py
RemoveVertexIndexesOp
¶
Bases: ConfigBaseModel
Withdraw authored vertex indexes, addressed by field list.
Indexes derived from secondary_identities are not removable here — they would
be re-registered by the next finish_init. Use
:class:RemoveSecondaryIdentitiesOp for those.