Skip to main content

Crate eventuary_sqlite

Crate eventuary_sqlite 

Source
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 BufferStore implementation.
checkpoint_store
coordinated_reader
SQLite coordinated reader: thin alias over the generic core type.
database
dedupe_store
SQLite DedupeStore implementation.
event_log
multiplexer_store
SQLite MultiplexerStore implementation.
partition_coordinator
reader
relation
schema
watermark_store
SQLite WatermarkStore implementation.
writer