@@ -8,19 +8,20 @@ management.
88
99## Features
1010
11- * ** Single connection pool per database** : Prevents violation of access policies
12- and/or a glut of open file handles and (mostly) idle threads
11+ * ** Maintains one read connection pool and one write connection per database** :
12+ Prevents violation of access policies and/or a glut of open file handles and
13+ (mostly) idle threads
1314 * ** Connection pooling** :
1415 * Read-only pool for concurrent reads (up to 6 connections)
15- * ** Lazy write pool** : Single write connection pool (max =1) initialized on
16+ * ** Lazy write pool** : Single write connection pool (max_connections =1) initialized on
1617 first use
1718 * ** Exclusive write access** : WriteGuard ensures serialized writes
18- (enforced by max_connections=1)
1919 * ** WAL mode** : Automatically enabled on first ` acquire_writer() ` call
2020 (idempotent)
21+ * See [ WAL documentation] ( https://www.sqlite.org/wal.html ) for details
2122 * ** 30-second idle timeout** : Both read and write connections close after
2223 30 seconds of inactivity
23- * ** No perpetual caching** : Zero minimum connections (min_connections=0) to
24+ * ** No perpetual connection caching** : Zero minimum connections (min_connections=0) to
2425 avoid idle thread overhead
2526
2627## Design Philosophy
@@ -110,9 +111,11 @@ queries.
110111 is released via ` WriteGuard ` drop.
111112
1121135 . ** Connection Management** :
113- * Read pool: max 6 concurrent connections, 0 cached
114+ * Read pool: 6 concurrent connections by default, 0 cached
115+ * Can be configured via ` SqliteDatabaseConfig `
114116 * Write pool: max 1 connection, 0 cached
115117 * Idle timeout: 30 seconds for both pools
118+ * Can be configured via ` SqliteDatabaseConfig `
116119 * No perpetual caching to minimize idle thread overhead
117120
118121## Error Handling
0 commit comments