Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bd4b1a9
feat: create `Pool::acquire()` benchmark
abonander Oct 29, 2025
7e44afe
breaking(pool): use `usize` for all connection counts
abonander Oct 19, 2024
3d6764f
WIP pool changes
abonander Oct 19, 2024
c6f4b9f
fix(pool): spawn task for `before_acquire`
abonander Nov 8, 2024
e95bb03
refactor(pool): use a unique ID per connection
abonander Nov 8, 2024
a76a180
fix(pool): add timeout to `return_to_pool()`
abonander Nov 8, 2024
7644598
feat(pool): add more info to `impl Debug for PoolConnection`
abonander Nov 8, 2024
278f8e4
fix: compilation error, warnings
abonander Nov 8, 2024
54cfdfc
chore: delete defunct use of `futures-intrusive`
abonander Nov 9, 2024
f435424
fix: upgrade `ease-off`
abonander Nov 9, 2024
7b06b20
fix: tests
abonander Nov 9, 2024
ea0a42a
fix(pool): don't stop emptying idle queue in `.close()`
abonander Nov 11, 2024
e6f81e2
fix(pool): use the correct method in `try_min_connections`
abonander Nov 11, 2024
9549139
fix(pool): use `.fuse()`
abonander Nov 11, 2024
608b81f
fix(pool): tweaks and fixes
abonander Nov 11, 2024
cd1744d
fix: errors after rebasing
abonander Aug 22, 2025
fbc097c
fix errors after rebase
abonander Aug 29, 2025
d28f723
feat: create sharding structure for pool
abonander Aug 20, 2025
9a8a4f9
WIP feat: integrate sharding into pool
abonander Sep 3, 2025
15722db
chore: `Cargo.lock` after rebase
abonander Sep 23, 2025
b571d7f
fix: bugs in sharded pool
abonander Oct 29, 2025
b2048af
fix: debug timeouts in benchmark
abonander Oct 29, 2025
a7e2ef4
WIP refactor: replace sharding with single connection set
abonander Dec 1, 2025
cf102b0
WIP refactor: simpler acquire strategy
abonander Jan 2, 2026
54e8423
feat: add `tracing-flame` to `benches/any-pool`
abonander Jan 3, 2026
824e27b
WIP refactor: replace sharding with single connection set (5)
abonander Jan 5, 2026
cd8e355
WIP refactor: replace sharding with single connection set (6)
abonander Jan 23, 2026
e1e99e1
fix: run `cargo fmt`
abonander Feb 4, 2026
0baa295
fix: change `minimal-versions` check to use `direct-minimal-versions`
abonander Feb 4, 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