Skip to main content

icydb_core/model/
mod.rs

1//! Module: model
2//!
3//! Responsibility: runtime schema-model types consumed by planning and execution.
4//! Does not own: declarative schema ASTs or macro-time code generation surfaces.
5//! Boundary: internal runtime model layer derived from typed entities and indexes.
6//!
7//! This module contains the runtime representations of schema-level concepts,
8//! as opposed to their declarative or macro-time forms. Types in `model` are
9//! instantiated and used directly by query planning, executors, and storage
10//! layers.
11
12pub(crate) mod entity;
13pub(crate) mod field;
14pub(crate) mod field_kind_semantics;
15pub(crate) mod index;
16
17// re-exports
18pub use entity::EntityModel;
19pub use field::{
20    EnumVariantModel, FieldInsertGeneration, FieldKind, FieldModel, FieldStorageDecode,
21    FieldWriteManagement, RelationStrength,
22};
23pub(crate) use field_kind_semantics::{
24    FieldKindCategory, FieldKindNumericClass, FieldKindScalarClass,
25    canonicalize_filter_literal_for_kind,
26    canonicalize_grouped_having_numeric_literal_for_field_kind,
27    canonicalize_strict_sql_literal_for_kind, classify_field_kind,
28    field_kind_has_identity_group_canonical_form,
29};
30pub use index::{
31    GeneratedIndexPredicateResolver, IndexExpression, IndexKeyItem, IndexKeyItemsRef, IndexModel,
32    IndexPredicateMetadata,
33};