Skip to main content

Crate hypercall_db_diesel

Crate hypercall_db_diesel 

Source
Expand description

Diesel persistence implementations for Hypercall.

This crate provides the concrete Diesel-based implementations of the persistence traits defined in hypercall-db. It owns the schema definitions, model types, and all SQL execution.

§Architecture

hypercall-db defines ORM-free traits and domain types. This crate implements those traits using Diesel ORM. Two main entry points:

  • DatabaseHandler – sync r2d2 pool, implements engine-path traits (orders, instruments, tiers, settlements, journal replay, archiver). Used by the engine event loop and startup code.
  • DieselDb – async deadpool via diesel-async, implements API-path traits (analytics, integrity, liquidation, notifications, nonces, push, usernames). Used by the REST/WS API handlers.

§Migrations

Database migrations live in ../../migrations/ and are compiled into the binary via diesel_migrations::embed_migrations!. The MIGRATIONS constant is applied automatically when constructing a DatabaseHandler (unless new_readonly or with_pool_no_migrations is used). After running migrations, ensure_enum_values adds any new Postgres enum variants that cannot be expressed as standard Diesel migrations.

Re-exports§

pub use database_handler::build_db_pool;
pub use database_handler::DatabaseHandler;
pub use database_handler::DbPool;
pub use database_handler::DynConnectionManager;
pub use db_auth::DbAuthConfig;
pub use diesel_db::AsyncDbPool;
pub use diesel_db::DieselDb;
pub use transaction::DieselTransaction;

Modules§

analytics
Analytics trait implementations for DieselDb.
archiver
Diesel implementation of ArchiverReader and ArchiverWriter traits.
bootstrap
Bootstrap trait implementation for DieselDb.
catalog
CatalogReader + CatalogWriter trait implementations for DieselDb.
competition
CompetitionReader + CompetitionWriter trait implementations for DieselDb.
database_handler
Unified database handler that owns a connection pool and implements all persistence traits from hypercall_db.
db_auth
diesel_db
Async DieselDb struct with deadpool-based connection pool management.
directive_outbox
DirectiveOutboxReader + DirectiveOutboxWriter implementations for DatabaseHandler.
engine_enums
Postgres enum types for the engine journal schema.
engine_journal
Diesel implementation for WAL batch journal materialization.
event_handler
Engine event handler: persists EngineMessage variants to Postgres.
faucet
FaucetWriter trait implementation for DieselDb.
instruments
InstrumentReader + InstrumentWriter implementations for DatabaseHandler.
integrity
IntegrityReader trait implementation for DieselDb.
ledger_ops
Ledger database operations using Diesel.
liquidation
LiquidationReader + LiquidationWriter trait implementations for DieselDb.
mmp
MmpConfigReader + MmpConfigWriter implementations for DatabaseHandler.
models
Diesel model structs (Queryable, Insertable, AsChangeset) for every database table.
nonces
NonceReader + NonceWriter trait implementations for DieselDb.
notifications
NotificationReader + NotificationWriter trait implementations for DieselDb.
oracle
OracleWriter implementation for DatabaseHandler.
order_status_materialization
Materialized order state management.
orders
OrderReader + OrderWriter + fill ledger helper implementations for DatabaseHandler.
pm_settlement
push
PushSubscriptionReader + PushSubscriptionWriter trait implementations for DieselDb.
rds_iam
replay
JournalReplayReader implementation for DatabaseHandler.
rfq
RfqReader + RfqWriter implementations for DatabaseHandler.
rsm_credit
RSM credit and cash-ledger persistence trait implementations.
schema
Diesel schema definitions, auto-generated by diesel print-schema.
settlement_ops
Settlement persistence operations.
settlements
SettlementReader + SettlementWriter implementations for DatabaseHandler.
snapshots
Snapshot persistence implementations for DatabaseHandler.
tiers
TierReader + TierWriter implementations for DatabaseHandler.
transaction
Transactional trait implementation for DatabaseHandler.
transaction_submitter
usernames
UsernameReader + UsernameWriter trait implementations for DieselDb.
validator_rsm