eventuary_sqlite/lib.rs
1//! SQLite event log backend for [eventuary](https://crates.io/crates/eventuary).
2//!
3//! Append-only events table with auto-incrementing sequence. Reader streams
4//! events in sequence order and supports consumer groups via a
5//! `consumer_offsets` table scoped by `(consumer_group_id, stream_id,
6//! partition, partition_count)`.
7//!
8//! ack advances the checkpoint, nack leaves it unchanged. SQLite work runs in
9//! `tokio::task::spawn_blocking` to avoid blocking the async runtime.
10//!
11//! Also ships sqlite-backed implementations of the IO store traits:
12//! - [`SqliteMultiplexerStore`]
13//! - [`SqliteBufferStore`]
14//! - [`SqliteDedupeStore`]
15//! - [`SqliteCheckpointStore`]
16//! - [`SqliteWatermarkStore`]
17
18pub mod buffer_store;
19pub mod checkpoint_store;
20pub mod database;
21pub mod dedupe_store;
22pub mod multiplexer_store;
23pub mod reader;
24pub mod relation;
25pub mod watermark_store;
26pub mod writer;
27
28pub use buffer_store::{SqliteBufferStore, SqliteBufferStoreConfig, SqliteBufferStoreId};
29pub use checkpoint_store::{SqliteCheckpointStore, SqliteCheckpointStoreConfig};
30pub use dedupe_store::{SqliteDedupeStore, SqliteDedupeStoreConfig};
31pub use multiplexer_store::{SqliteMultiplexerStore, SqliteMultiplexerStoreConfig};
32pub use watermark_store::{SqliteWatermarkStore, SqliteWatermarkStoreConfig};