Expand description
Open relational records built directly on the kernel data substrate.
A logical domain is a DomainSpec in a DomainCatalog, not an enum
variant. Storage providers consume its StorageRepr, while runtime Shape
resolution is deliberately left to sim-relation-shape.
use sim_kernel::{Ref, Symbol};
use sim_relation_core::{DomainCatalog, DomainId, DomainSpec, DomainTrait, StorageRepr};
let uuid = DomainSpec::new(
DomainId::new(Symbol::qualified("example", "uuid")).unwrap(),
StorageRepr::Text,
Ref::Symbol(Symbol::qualified("example", "UuidShape")),
[DomainTrait::Equatable, DomainTrait::Ordered],
).unwrap();
let catalog = DomainCatalog::new([uuid]).unwrap();
assert!(catalog.get(&DomainId::new(Symbol::qualified("example", "uuid")).unwrap()).is_some());Structs§
- Binding
Name - A query binding name.
- Cell
- A cell:
Noneis typed SQL NULL;Somecontains ordinary SIM data. - Column
Name - A column name.
- Constraint
Name - A constraint name.
- Domain
Catalog - A validated collection of open domain declarations.
- Domain
Id - An open logical-domain identifier.
- Domain
Spec - An open logical-domain declaration.
- Field
Name - A projected field name.
- Field
Type - A named field’s logical type.
- Index
Name - An index name.
- Parameter
Name - A parameter name.
- Provider
Name - A storage provider name.
- Relation
Id - Typed identity for any relational record.
- Revision
Name - A revision name.
- Row
- A row checked against a row type.
- RowType
- A validated ordered row type.
- Schema
Name - A logical schema name.
- Source
Name - A relational source name.
- Table
Name - A table name.
- View
Name - A relational view name.
Enums§
- Base
Domain - The five portable base domains.
- Domain
Error - Domain validation or conversion failure.
- Domain
Trait - A semantic promise made by a logical domain.
- Name
Error - Validation failure for a relational symbolic name.
- RowError
- Row construction failure.
- Storage
Repr - Exact physical representation requested from a storage provider.
- Storage
Value - An exact value at the provider boundary.
Traits§
- ToRelation
Datum - Canonical projection shared by identity, Card data, and Lisp data faces.