feat: sqlite pool options #2784
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I use SQLite as storage for my Tauri application. By default, SQLx (the underlying driver) uses max. 10 parallel pool connections for SQLite.
When inserting a bunch of rows, I frequently get foreign key failure issues because the INSERT statements are spread across all connections and thus not in the right order. This plugin does not have proper transaction support (executing all statements on the same connection) and thus doesnt work either.
This PR implements the ability to limit the maximum number of connections in the pool. For me, by setting this to 1 connection maximum, I can ensure that all INSERTs are applied in the same order as I send them. Also, I can now start a transaction manually, because there's only ever 1 connection active.
Rust implementation based on #2553