Expand description
SQLite event log backend for eventuary.
Provides an append-only events table with auto-incrementing sequence cursors
(SqliteCursor). SqliteReader is a source reader: its acker advances only
the active in-memory stream cursor, and nack leaves the row eligible for
redelivery by that stream. SQLite work runs in tokio::task::spawn_blocking
to avoid blocking the async runtime.
Durable consumer progress is owned by SqliteCheckpointStore and composed
with eventuary_core::io::reader::CheckpointReader. Checkpoints are keyed by
(consumer_group_id, stream_id, cursor_id) and store the full cursor as JSON.
Schema setup is component-owned. SqliteWriter::connect(conn, config)
prepares only the event-log table, while
SqliteDedupeStore::connect(conn, config) prepares only the dedupe table.
SqliteDatabase::open(...) only opens a connection and does not create
Eventuary tables.
Also ships sqlite-backed implementations of the IO store traits:
Re-exports§
pub use buffer_store::SqliteBufferStore;pub use buffer_store::SqliteBufferStoreConfig;pub use buffer_store::SqliteBufferStoreId;pub use checkpoint_store::SqliteCheckpointStore;pub use checkpoint_store::SqliteCheckpointStoreConfig;pub use coordinated_reader::SqliteCoordinatedAcker;pub use coordinated_reader::SqliteCoordinatedCursor;pub use coordinated_reader::SqliteCoordinatedReader;pub use coordinated_reader::SqliteCoordinatedReaderConfig;pub use coordinated_reader::SqliteCoordinatedStream;pub use coordinated_reader::SqliteCoordinatedSubscription;pub use dedupe_store::SqliteDedupeStore;pub use dedupe_store::SqliteDedupeStoreConfig;pub use event_log::SqliteEventLogSchema;pub use event_log::SqliteEventLogSchemaConfig;pub use multiplexer_store::SqliteMultiplexerStore;pub use multiplexer_store::SqliteMultiplexerStoreConfig;pub use partition_coordinator::SqlitePartitionCoordinator;pub use partition_coordinator::SqlitePartitionCoordinatorConfig;pub use watermark_store::SqliteWatermarkStore;pub use watermark_store::SqliteWatermarkStoreConfig;
Modules§
- buffer_
store - SQLite
BufferStoreimplementation. - checkpoint_
store - coordinated_
reader - SQLite coordinated reader: thin alias over the generic core type.
- database
- dedupe_
store - SQLite
DedupeStoreimplementation. - event_
log - multiplexer_
store - SQLite
MultiplexerStoreimplementation. - partition_
coordinator - reader
- relation
- schema
- watermark_
store - SQLite
WatermarkStoreimplementation. - writer