Skip to main content

Crate meshdb_storage

Crate meshdb_storage 

Source

Structs§

EdgePointIndexSpec
Relationship-scope analogue of PointIndexSpec. Same single-property shape; the index lives under a separate CF so node and edge spatial entries can’t alias and the two can be dropped independently.
EdgePropertyIndexSpec
Relationship-scope analogue of PropertyIndexSpec. Same properties: Vec<String> shape, same composite semantics, same byte-level on-disk compatibility for length-1 entries.
PointIndexSpec
Declarative spec for a point / spatial index on a single Property::Point property. A point index accelerates bounding-box containment and distance-radius queries via a Z-order (Morton) cell quantizer — points map to sortable u64 cell IDs, so bbox queries reduce to a cell-range scan plus a per-row precision filter.
PropertyConstraintSpec
Declarative spec for a property constraint. Unlike PropertyIndexSpec, constraints carry a user-facing nameDROP CONSTRAINT takes a name, not a (scope, properties, kind) tuple, so the registry keys on name for lookup. When the user omits the name, StorageEngine::create_property_constraint fills in a deterministic one derived from the other fields.
PropertyIndexSpec
Declarative spec for a single-property equality index. An index is uniquely identified by its (label, properties) pair — users don’t name them, which keeps DROP/SHOW behavior simple and matches the way the planner looks them up when deciding whether to emit IndexSeek.
RocksDbStorageEngine
StorageOptions
Operator-tunable rocksdb options. Defaults match what RocksDbStorageEngine::open applied historically (modest max_open_files, capped LOG retention) — production deployments override via the [storage] config section.

Enums§

ConstraintScope
Scope a constraint applies to. Node(label) covers every node carrying the label; Relationship(edge_type) covers every edge with the given type. Kept as an enum rather than a plain string so future scope extensions (e.g. specific pattern shapes) land additively.
Error
GraphMutation
A single mutation that can be combined with others into an atomic StorageEngine::apply_batch call. Backend-neutral: the enum only names what to do to the graph, not how the backend persists it. Lets callers commit a sequence of mutations as one atomic write — useful for giving multi-write Cypher queries crash-atomic local persistence.
PropertyConstraintKind
Kind of single-property constraint. Unique comes from REQUIRE n.prop IS UNIQUE, NotNull from REQUIRE n.prop IS NOT NULL, and PropertyType(t) from REQUIRE n.prop IS :: <TYPE>. PropertyType carries the target type so a single constraint-kind enum covers all four flavours without blowing up into one variant per type.
PropertyType
Property types recognised by IS :: <TYPE>. Covers the four primitive Cypher types used in practice; temporal / spatial / list / map type constraints are a follow-up.

Traits§

StorageEngine
Object-safe interface for a graph storage backend. See module docs for design notes.

Type Aliases§

Result