Skip to main content

icydb_core/model/
mod.rs

1//! Runtime data model definitions.
2//!
3//! This module contains the *runtime representations* of schema-level concepts,
4//! as opposed to their declarative or macro-time forms. Types in `model` are
5//! instantiated and used directly by query planning, executors, and storage
6//! layers.
7//!
8//! Currently this includes index-related models, but the module is intended to
9//! grow to encompass additional runtime schema nodes (e.g. entities, fields,
10//! or constraints) as IcyDB’s internal model is made more explicit.
11//!
12//! In general:
13//! - Schema / macro code defines *what exists*
14//! - `model` defines *what runs*
15//!
16//! Model types are **internal** runtime artifacts derived from typed entities.
17//! Downstream code should not construct them manually except in tests that
18//! intentionally exercise invalid or edge-case schemas.
19
20pub(crate) mod entity;
21pub(crate) mod field;
22pub(crate) mod index;
23
24// re-exports
25pub use entity::EntityModel;
26pub use field::{FieldKind, FieldModel, RelationStrength};
27pub use index::IndexModel;