Skip to main content

Module read_model

Module read_model 

Source
Expand description

Read Models - storage-backed projections and read-optimized views.

Relational models stage explicit row mutations:

use distributed::{ReadModelWritePlanBuilder, ReadModelWritePlanCommitExt};

let mut read_models = ReadModelWritePlanBuilder::new();
read_models.upsert(&player)?;
read_models.upsert_related(&player, "weapons", &weapon)?;
repo.read_models(read_models).commit(&mut aggregate).await?;

Async persistent repositories expose the staging shape through ReadModelWritePlanCommitExt::read_models, returning a future from commit.

Distributed projectors can commit a write plan directly against a read-model adapter. Projection handlers should make those writes idempotent so bus retries can safely replay the same message:

let mut read_models = ReadModelWritePlanBuilder::new();
read_models.upsert(&view)?;
let outcome = read_models.commit(&read_store)?;

Structs§

ColumnDef
Column metadata for a relational read-model table.
DeleteRowMutation
Relational row delete mutation.
ForeignKey
A foreign-key declaration from one read-model column to another table column.
InMemoryReadModelStore
In-memory read model store backed by a HashMap.
IndexDef
Index or unique-constraint metadata for a relational read-model table.
PatchRowMutation
Sparse relational row patch mutation.
PrimaryKey
Primary-key metadata for a relational read-model table.
ReadModelAdapterCapabilities
Adapter capabilities used to validate a write plan before any storage write.
ReadModelCommitOutcome
Result of applying a standalone read-model write plan.
ReadModelIncludeRows
Rows loaded for one requested relationship include.
ReadModelLoadBuilder
Builder for one explicit primary-key read-model load over the async store traits.
ReadModelLoadGraph
Untyped graph loaded by a relational read-model adapter.
ReadModelLoadRequest
A request an adapter can satisfy with a primary-key read plus explicit includes.
ReadModelMigrationArtifact
Generated or user-consumable migration artifact for registered schemas.
ReadModelQueryCapabilities
Adapter capabilities for primary-key relational read-model loads.
ReadModelSchema
Schema metadata for one relational read-model table.
ReadModelSchemaAdapterCapabilities
Schema lifecycle operations an adapter can support.
ReadModelSchemaBootstrap
Result of an explicit dev/test schema bootstrap operation.
ReadModelSchemaIssue
Adapter-facing schema verification issue.
ReadModelSchemaRegistry
Registry of table-mapped read-model schemas an adapter should manage.
ReadModelSchemaVerification
Result of verifying registered metadata against an adapter-owned schema.
ReadModelWorkspace
Store-bound read-model workspace for load, mutate, sync, commit workflows.
ReadModelWritePlan
Deterministic unit-of-work output for relational read-model adapters.
ReadModelWritePlanBuilder
Detached builder for read-model write plans that are applied at commit.
RelationshipDef
Relationship metadata for a relational read model.
RowKey
Runtime primary-key values for one read-model row.
RowMutation
Full relational row insert/upsert mutation.
RowPatch
Sparse column updates for a relational row.
RowValues
Column-value map for one relational read-model row.
Versioned
A versioned wrapper around read model data for optimistic concurrency control.

Enums§

ColumnType
Logical storage type for a relational read-model column.
ExpectedVersion
Expected optimistic version carried by a staged read-model write.
PatchMode
Sparse patch behavior for a relational row mutation.
ReadModelError
Error type for read model store operations.
ReadModelMutation
First-pass read-model write-plan mutation surface.
ReadModelSchemaIssueKind
RelationshipKind
Relationship category for later workspace/write-plan lowering.
RowValue
A typed value in a relational read-model row.
RowWriteMode
Full-row write behavior for a relational row mutation.

Constants§

DEFAULT_READ_MODEL_VERSION_COLUMN

Traits§

ReadModel
Trait implemented by the derive macro for read-model identity metadata.
ReadModelSchemaAdapter
Adapter contract for schema generation, verification, and dev/test bootstrap.
ReadModelWorkspaceExt
Extension trait that starts a tracked read-model workspace from an async store.
RelationalReadModel
Opt-in trait for table-mapped relational read models.
RelationalReadModelIncludes
Relationship hydration hooks generated for table-mapped read models.