Skip to main content

Crate stateset_db

Crate stateset_db 

Source
Expand description

§StateSet DB

Database implementations for StateSet iCommerce.

§Features

  • sqlite (default): SQLite database support via rusqlite
  • postgres: PostgreSQL database support via sqlx (async)
  • vector: Vector search support via sqlite-vec extension
  • saga: Experimental persisted saga coordinator (PostgreSQL-only)

§Usage

§SQLite (default)

use stateset_db::{SqliteDatabase, DatabaseConfig};
let db = SqliteDatabase::new(&DatabaseConfig::sqlite("./store.db"))?;

§PostgreSQL

use stateset_db::{PostgresDatabase, DatabaseConfig};
let db = PostgresDatabase::connect(&DatabaseConfig::postgres("postgres://localhost/stateset")).await?;

§Error Handling

This crate uses typed errors via stateset_core::DbError for better debugging and error categorization. Use the error helper functions in the error_helpers module for converting backend-specific errors.

Re-exports§

pub use http_idempotency::HttpIdempotencyRecord;
pub use http_idempotency::HttpIdempotencyRepository;
pub use sqlite::SqliteDatabase;sqlite

Modules§

auditsqlite
Audit log for tracking critical mutations.
backupsqlite
Backup and restore utilities for embedded SQLite databases
error_helpers
Error conversion helpers for database backends
http_idempotency
Durable HTTP idempotency response store.
maintenancesqlite
Backup and restore for embedded SQLite databases.
migrationssqlite
Database migrations
portability
Full-fidelity structured export and import.
sqlitesqlite
SQLite database implementation
transactions
Transaction abstraction with saga support

Macros§

map_sqlite_errsqlite
Helper macro for mapping SQLite errors with context
parse_ctxsqlite
Macro to create a context tuple for parsing functions.

Structs§

DatabaseConfig
Database configuration
TransactionOptions
Options for transaction execution

Enums§

DatabaseCapability
Optional domain capability exposed by a database backend.
TransactionIsolation
Transaction isolation levels

Constants§

DEFAULT_POSTGRES_POOL_SIZE
Default PostgreSQL pool size when STATESET_DB_MAX_CONNECTIONS is unset.

Traits§

Database
Unified database trait that both SQLite and PostgreSQL implement. This allows stateset-embedded to work with either backend.
DatabaseExtsqlite
Extension trait for database transaction support.
TransactionContext
Context for operations within a transaction