Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
63a9be2
feat: create `Pool::acquire()` benchmark
abonander Oct 29, 2025
418bcbb
breaking(pool): use `usize` for all connection counts
abonander Oct 19, 2024
8efb358
WIP pool changes
abonander Oct 19, 2024
f02354d
fix(pool): spawn task for `before_acquire`
abonander Nov 8, 2024
e1a3a62
refactor(pool): use a unique ID per connection
abonander Nov 8, 2024
b74cf8a
fix(pool): add timeout to `return_to_pool()`
abonander Nov 8, 2024
e3cf5db
feat(pool): add more info to `impl Debug for PoolConnection`
abonander Nov 8, 2024
c02e5ee
fix: compilation error, warnings
abonander Nov 8, 2024
4eae608
chore: delete defunct use of `futures-intrusive`
abonander Nov 9, 2024
402c81d
fix: upgrade `ease-off`
abonander Nov 9, 2024
7a31c90
fix: tests
abonander Nov 9, 2024
6c1564a
fix(pool): don't stop emptying idle queue in `.close()`
abonander Nov 11, 2024
d0f598f
fix(pool): use the correct method in `try_min_connections`
abonander Nov 11, 2024
69c071b
fix(pool): use `.fuse()`
abonander Nov 11, 2024
965ae1b
fix(pool): tweaks and fixes
abonander Nov 11, 2024
568471d
fix: errors after rebasing
abonander Aug 22, 2025
1185e7e
fix errors after rebase
abonander Aug 29, 2025
a02546d
feat: create sharding structure for pool
abonander Aug 20, 2025
32012f8
WIP feat: integrate sharding into pool
abonander Sep 3, 2025
f9c5b94
chore: `Cargo.lock` after rebase
abonander Sep 23, 2025
3f30e69
fix: bugs in sharded pool
abonander Oct 29, 2025
fee55df
fix: debug timeouts in benchmark
abonander Oct 29, 2025
e897752
WIP refactor: replace sharding with single connection set
abonander Dec 1, 2025
ac40323
WIP refactor: simpler acquire strategy
abonander Jan 2, 2026
831a5de
feat: add `tracing-flame` to `benches/any-pool`
abonander Jan 3, 2026
77d076f
WIP refactor: replace sharding with single connection set (5)
abonander Jan 5, 2026
4485e09
WIP refactor: replace sharding with single connection set (6)
abonander Jan 23, 2026
d6d4e59
fix: run `cargo fmt`
abonander Feb 4, 2026
53ad46f
fix: change `minimal-versions` check to use `direct-minimal-versions`
abonander Feb 4, 2026
f40a3fd
chore: fix warnings
abonander Feb 28, 2026
b09d956
refactor: delete pool parenting
abonander Feb 28, 2026
f35ebbd
fix warnings
abonander Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/sqlx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
run: |
rustup show active-toolchain || rustup toolchain install
rustup toolchain install nightly
- run: cargo +nightly generate-lockfile -Z minimal-versions
- run: cargo +nightly generate-lockfile -Z direct-minimal-versions
- run: cargo build --all-features

test:
Expand Down
136 changes: 77 additions & 59 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 20 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,10 @@ uuid = "1.1.2"

# Common utility crates
cfg-if = "1.0.0"
dotenvy = { version = "0.15.0", default-features = false }
thiserror = { version = "2.0.17", default-features = false, features = ["std"] }
dotenvy = { version = "0.15.7", default-features = false }
ease-off = "0.1.6"
rand = "0.8.5"

# Runtimes
[workspace.dependencies.async-global-executor]
Expand Down Expand Up @@ -222,7 +224,6 @@ sqlx-sqlite = { workspace = true, optional = true }
anyhow = "1.0.52"
time_ = { version = "0.3.2", package = "time" }
futures-util = { version = "0.3.19", default-features = false, features = ["alloc"] }
env_logger = "0.11"
async-std = { workspace = true, features = ["attributes"] }
tokio = { version = "1.15.0", features = ["full"] }
dotenvy = "0.15.0"
Expand All @@ -236,9 +237,13 @@ rand = "0.8.4"
rand_xoshiro = "0.6.0"
hex = "0.4.3"
tempfile = "3.10.1"
criterion = { version = "0.5.1", features = ["async_tokio"] }
criterion = { version = "0.7.0", features = ["async_tokio"] }
libsqlite3-sys = { version = "0.30.1" }

tracing = "0.1.41"
tracing-flame = "0.2.0"
tracing-subscriber = "0.3.20"

# If this is an unconditional dev-dependency then Cargo will *always* try to build `libsqlite3-sys`,
# even when SQLite isn't the intended test target, and fail if the build environment is not set up for compiling C code.
[target.'cfg(sqlite_test_sqlcipher)'.dev-dependencies]
Expand Down Expand Up @@ -454,3 +459,15 @@ required-features = ["postgres"]
name = "postgres-rustsec"
path = "tests/postgres/rustsec.rs"
required-features = ["postgres", "macros", "migrate"]

#
# Benches
#
[[bench]]
name = "any-pool"
path = "benches/any/pool.rs"
required-features = ["runtime-tokio", "any"]
harness = false

[profile.bench]
debug = true
Loading
Loading