From f9e23bc571f5711b8ba0915312a76a625ac2c81a Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:01:58 -0700 Subject: [PATCH 01/13] chore: bump version to `0.9.0-alpha.1` --- Cargo.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2419b50d97..a469506c92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ members = [ ] [workspace.package] -version = "0.8.6" +version = "0.9.0-alpha.1" license = "MIT OR Apache-2.0" edition = "2021" repository = "https://github.com/launchbadge/sqlx" @@ -129,17 +129,17 @@ bstr = ["sqlx-core/bstr"] [workspace.dependencies] # Core Crates -sqlx-core = { version = "=0.8.6", path = "sqlx-core" } -sqlx-macros-core = { version = "=0.8.6", path = "sqlx-macros-core" } -sqlx-macros = { version = "=0.8.6", path = "sqlx-macros" } +sqlx-core = { version = "=0.9.0-alpha.1", path = "sqlx-core" } +sqlx-macros-core = { version = "=0.9.0-alpha.1", path = "sqlx-macros-core" } +sqlx-macros = { version = "=0.9.0-alpha.1", path = "sqlx-macros" } # Driver crates -sqlx-mysql = { version = "=0.8.6", path = "sqlx-mysql" } -sqlx-postgres = { version = "=0.8.6", path = "sqlx-postgres" } -sqlx-sqlite = { version = "=0.8.6", path = "sqlx-sqlite" } +sqlx-mysql = { version = "=0.9.0-alpha.1", path = "sqlx-mysql" } +sqlx-postgres = { version = "=0.9.0-alpha.1", path = "sqlx-postgres" } +sqlx-sqlite = { version = "=0.9.0-alpha.1", path = "sqlx-sqlite" } # Facade crate (for reference from sqlx-cli) -sqlx = { version = "=0.8.6", path = ".", default-features = false } +sqlx = { version = "=0.9.0-alpha.1", path = ".", default-features = false } # Common type integrations shared by multiple driver crates. # These are optional unless enabled in a workspace crate. From 687ec01d60daa7bbf22ab5c596480ecdaece9267 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:03:55 -0700 Subject: [PATCH 02/13] chore: delete unused `sqlx-bench` package --- sqlx-bench/Cargo.toml | 47 ---------- sqlx-bench/README.md | 39 --------- sqlx-bench/benches/pg_pool.rs | 80 ------------------ sqlx-bench/benches/sqlite_fetch_all.rs | 45 ---------- .../1000_fair_pdf_small.svg | 64 -------------- .../1000_unfair_pdf_small.svg | 68 --------------- .../100_fair_pdf_small.svg | 60 ------------- .../100_unfair_pdf_small.svg | 60 ------------- .../10_fair_pdf_small.svg | 56 ------------ .../10_unfair_pdf_small.svg | 48 ----------- .../5000_fair_pdf_small.svg | 56 ------------ .../5000_unfair_pdf_small.svg | 68 --------------- .../500_fair_pdf_small.svg | 44 ---------- .../500_unfair_pdf_small.svg | 52 ------------ .../50_fair_pdf_small.svg | 52 ------------ .../50_unfair_pdf_small.svg | 52 ------------ .../5_fair_pdf_small.svg | 60 ------------- .../5_unfair_pdf_small.svg | 60 ------------- .../2020-07-01-bench_pgpool_acquire/REPORT.md | 32 ------- sqlx-bench/test.db | Bin 794624 -> 0 bytes 20 files changed, 1043 deletions(-) delete mode 100644 sqlx-bench/Cargo.toml delete mode 100644 sqlx-bench/README.md delete mode 100644 sqlx-bench/benches/pg_pool.rs delete mode 100644 sqlx-bench/benches/sqlite_fetch_all.rs delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md delete mode 100644 sqlx-bench/test.db diff --git a/sqlx-bench/Cargo.toml b/sqlx-bench/Cargo.toml deleted file mode 100644 index 0aa9532034..0000000000 --- a/sqlx-bench/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -[package] -name = "sqlx-bench" -version = "0.1.0" -authors = ["Austin Bonander "] -edition = "2021" -publish = false - -[features] -runtime-actix-native-tls = ["runtime-tokio-native-tls"] -runtime-async-std-native-tls = [ - "sqlx/runtime-async-std-native-tls", -] -runtime-tokio-native-tls = [ - "sqlx/runtime-tokio-native-tls", -] - -runtime-actix-rustls = ["runtime-tokio-rustls"] -runtime-async-std-rustls = [ - "sqlx/runtime-async-std-rustls", -] -runtime-tokio-rustls = [ - "sqlx/runtime-tokio-rustls", -] - -postgres = ["sqlx/postgres"] -sqlite = ["sqlx/sqlite"] - -[dependencies] -criterion = "0.5.1" -dotenvy = "0.15.0" -once_cell = "1.4" -sqlx = { workspace = true, default-features = false, features = ["macros"] } - -chrono = "0.4.19" - -[[bench]] -name = "pg_pool" -harness = false -required-features = ["postgres"] - -[[bench]] -name = "sqlite_fetch_all" -harness = false -required-features = ["sqlite"] - -[lints] -workspace = true diff --git a/sqlx-bench/README.md b/sqlx-bench/README.md deleted file mode 100644 index f9903c748e..0000000000 --- a/sqlx-bench/README.md +++ /dev/null @@ -1,39 +0,0 @@ -SQLx Self-Benchmarks -==================== - -This Cargo project implements various benchmarks for SQLx using -[Criterion](https://crates.io/crates/criterion). - -### Available Benchmarks - -* Group `pg_pool`: benchmarks `sqlx::Pool` against a PostgreSQL server. - * `DATABASE_URL` must be set (or in `.env`) pointing to a PostgreSQL server. - It should preferably be running on the same machine as the benchmarks to reduce latency. - * The `postgres` feature must be enabled for this benchmark to run. - * Benchmarks: - * `bench_pgpool_acquire`: benchmarks `Pool::acquire()` when many concurrent tasks are also using - the pool, with or without the pool being fair. Concurrently to the benchmark iteration - function calling and blocking on `Pool::acquire()`, a varying number of background tasks are - also calling `acquire()` and holding the acquired connection for 500µs each before releasing - it back to the pool. The pool is created with `.min_connections(50).max_connections(50)` so we shouldn't - be measuring anything but the actual overhead of `Pool`'s bookkeeping. - -### Running - -You must choose a runtime to execute the benchmarks on; the feature flags are the same as the `sqlx` crate: - -```bash -cargo bench --features runtime-tokio-native-tls -cargo bench --features runtime-async-std-rustls -``` - -When complete, the benchmark results will be in `target/criterion/`. -Open `target/criterion/report/index.html` or pick one of the benchmark subfolders and open -`report/index.html` there to view the results. - -Benchmark Results -------- - -If you want to share the results here, please follow the format below. - -* [2020/07/01: `pg_pool` benchmark added to test pool fairness changes](results/2020-07-01-bench_pgpool_acquire/REPORT.md) diff --git a/sqlx-bench/benches/pg_pool.rs b/sqlx-bench/benches/pg_pool.rs deleted file mode 100644 index ccea9bc6a9..0000000000 --- a/sqlx-bench/benches/pg_pool.rs +++ /dev/null @@ -1,80 +0,0 @@ -use criterion::{criterion_group, criterion_main, Bencher, Criterion}; -use sqlx::PgPool; - -use sqlx::postgres::PgPoolOptions; -use std::time::{Duration, Instant}; - -fn bench_pgpool_acquire(c: &mut Criterion) { - let mut group = c.benchmark_group("bench_pgpool_acquire"); - - for &concurrent in [5u32, 10, 50, 100, 500, 1000, 5000 /*, 10_000, 50_000*/].iter() { - for &fair in [false, true].iter() { - let fairness = if fair { "(fair)" } else { "(unfair)" }; - - group.bench_with_input( - format!("{concurrent} concurrent {fairness}"), - &(concurrent, fair), - |b, &(concurrent, fair)| do_bench_acquire(b, concurrent, fair), - ); - } - } - - group.finish(); -} - -fn do_bench_acquire(b: &mut Bencher, concurrent: u32, fair: bool) { - let pool = sqlx::__rt::block_on( - PgPoolOptions::new() - // we don't want timeouts because we want to see how the pool degrades - .acquire_timeout(Duration::from_secs(3600)) - // force the pool to start full - .min_connections(50) - .max_connections(50) - // we're not benchmarking `ping()` - .test_before_acquire(false) - .__fair(fair) - .connect( - &dotenvy::var("DATABASE_URL").expect("DATABASE_URL must be set to run benchmarks"), - ), - ) - .expect("failed to open PgPool"); - - for _ in 0..concurrent { - let pool = pool.clone(); - sqlx::__rt::enter_runtime(|| { - sqlx::__rt::spawn(async move { - while !pool.is_closed() { - let conn = match pool.acquire().await { - Ok(conn) => conn, - Err(sqlx::Error::PoolClosed) => break, - Err(e) => panic!("failed to acquire concurrent connection: {e}"), - }; - - // pretend we're using the connection - sqlx::__rt::sleep(Duration::from_micros(500)).await; - drop(criterion::black_box(conn)); - } - }) - }); - } - - b.iter_custom(|iters| { - sqlx::__rt::block_on(async { - // take the start time inside the future to make sure we only count once it's running - let start = Instant::now(); - for _ in 0..iters { - criterion::black_box( - pool.acquire() - .await - .expect("failed to acquire connection for benchmark"), - ); - } - start.elapsed() - }) - }); - - sqlx::__rt::block_on(pool.close()); -} - -criterion_group!(pg_pool, bench_pgpool_acquire); -criterion_main!(pg_pool); diff --git a/sqlx-bench/benches/sqlite_fetch_all.rs b/sqlx-bench/benches/sqlite_fetch_all.rs deleted file mode 100644 index 8be770a213..0000000000 --- a/sqlx-bench/benches/sqlite_fetch_all.rs +++ /dev/null @@ -1,45 +0,0 @@ -use sqlx::{Connection, Executor}; - -use std::time::Instant; - -#[derive(sqlx::FromRow)] -struct Test { - id: i32, -} - -fn main() -> sqlx::Result<()> { - sqlx::__rt::block_on(async { - let mut conn = sqlx::SqliteConnection::connect("sqlite://test.db?mode=rwc").await?; - let delete_sql = "DROP TABLE IF EXISTS test"; - conn.execute(delete_sql).await?; - - let create_sql = "CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY NOT NULL)"; - conn.execute(create_sql).await?; - - let mut tx = conn.begin().await?; - for entry in 0i32..100000 { - sqlx::query("INSERT INTO test (id) VALUES ($1)") - .bind(entry) - .execute(&mut tx) - .await?; - } - tx.commit().await?; - - for _ in 0..10i8 { - let start = chrono::Utc::now(); - - println!( - "total: {}", - sqlx::query!("SELECT id from test") - .fetch_all(&mut conn) - .await? - .len() - ); - - let elapsed = chrono::Utc::now() - start; - println!("elapsed {elapsed}"); - } - - Ok(()) - }) -} diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg deleted file mode 100644 index 6446c35b8b..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg +++ /dev/null @@ -1,64 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.05 - - - -0.1 - - - -0.15 - - - -0.2 - - - -0.25 - - - -0.3 - - - -0.35 - - - -0.4 - - - -0.45 - - - -0.5 - - - - -30 - - - -32 - - - -34 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg deleted file mode 100644 index 309a62b2ec..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg +++ /dev/null @@ -1,68 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -5e-4 - - - -0.001 - - - -0.0015 - - - -0.002 - - - -0.0025 - - - -0.003 - - - -0.0035 - - - -0.004 - - - -0.0045 - - - -0.005 - - - -0.0055 - - - - -0 - - - -200 - - - -400 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg deleted file mode 100644 index 65f2e6206e..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.1 - - - -0.2 - - - -0.3 - - - -0.4 - - - -0.5 - - - -0.6 - - - -0.7 - - - -0.8 - - - - -0 - - - -1 - - - -2 - - - -3 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg deleted file mode 100644 index db708916a8..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.02 - - - -0.04 - - - -0.06 - - - -0.08 - - - -0.1 - - - -0.12 - - - -0.14 - - - -0.16 - - - -0.18 - - - - -0 - - - -5 - - - -10 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg deleted file mode 100644 index b887f78e35..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg +++ /dev/null @@ -1,56 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -340 - - - -360 - - - -380 - - - -400 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg deleted file mode 100644 index 884f443d1a..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg +++ /dev/null @@ -1,48 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.02 - - - -0.04 - - - -0.06 - - - -0.08 - - - -0.1 - - - - -340 - - - -350 - - - -360 - - - -370 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg deleted file mode 100644 index 41bb9dd94c..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg +++ /dev/null @@ -1,56 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -160 - - - -170 - - - -180 - - - -190 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg deleted file mode 100644 index 51c712ae53..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg +++ /dev/null @@ -1,68 +0,0 @@ - - -Density (a.u.) - - -Average Time (s) - - - -0.05 - - - -0.1 - - - -0.15 - - - -0.2 - - - -0.25 - - - -0.3 - - - -0.35 - - - -0.4 - - - -0.45 - - - -0.5 - - - - -0 - - - -2 - - - -4 - - - -6 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg deleted file mode 100644 index 249f59b459..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg +++ /dev/null @@ -1,44 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.2 - - - -0.4 - - - -0.6 - - - -0.8 - - - -1 - - - - -15 - - - -16 - - - -17 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg deleted file mode 100644 index b9387fc3f0..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.002 - - - -0.004 - - - -0.006 - - - -0.008 - - - -0.01 - - - - -0 - - - -50 - - - -100 - - - -150 - - - -200 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg deleted file mode 100644 index c8958b9e63..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (us) - - - -0.005 - - - -0.01 - - - -0.015 - - - -0.02 - - - -0.025 - - - - -0 - - - -50 - - - -100 - - - -150 - - - -200 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg deleted file mode 100644 index e16502cccc..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (us) - - - -0.005 - - - -0.01 - - - -0.015 - - - -0.02 - - - -0.025 - - - -0.03 - - - -0.035 - - - - -0 - - - -50 - - - -100 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg deleted file mode 100644 index 3ebb0258bb..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -340 - - - -360 - - - -380 - - - -400 - - - -420 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg deleted file mode 100644 index c33fee3e09..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - -0.08 - - - -0.09 - - - - -340 - - - -360 - - - -380 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md deleted file mode 100644 index 0fb71b14a7..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md +++ /dev/null @@ -1,32 +0,0 @@ -### 2020/07/01: `pg_pool` benchmark added to test pool fairness changes - -* Commit: 7c8ef602661c9cb62c8cf43aaf0f8faaf5b0aed5 -* Machine specs: - * (`lscpu`) Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz - * 64 GB DDR4 RAM - * (Distro / `uname -a`) Arch Linux / kernel `5.6.15-zen2-1-zen` - * (`rustc -V`) `rustc 1.43.0-nightly (834bc5650 2020-02-24)` -* Command: `cargo bench --features runtime-tokio,postgres -- --measurement-time 30` - -| Connections | Unfair Pool | Fair Pool| -|-------------|-------------|----------| -| 5 | ![](5_unfair_pdf_small.svg) | ![](5_fair_pdf_small.svg) | -| 10 | ![](10_unfair_pdf_small.svg) | ![](10_fair_pdf_small.svg) | -| 50 | ![](50_unfair_pdf_small.svg) | ![](50_fair_pdf_small.svg) | -| 100 | ![](100_unfair_pdf_small.svg) | ![](100_fair_pdf_small.svg) | -| 500 | ![](500_unfair_pdf_small.svg) | ![](500_fair_pdf_small.svg) | -| 1000 | ![](1000_unfair_pdf_small.svg) | ![](1000_fair_pdf_small.svg) | -| 5000 | ![](5000_unfair_pdf_small.svg) | ![](5000_fair_pdf_small.svg) | - - -When the pool is set to be fair it appears the average time for `acquire()` at high contention -(500+ tasks using 50 pool connections) actually goes down by up to an order of magnitude since tasks -in the waiter queue aren't getting preempted. - -This appears to be the solution to our problem of tasks timing out waiting for a connection at high -load. At very low contention (5-10 tasks using 50 pool connections), the average time for `acqure()` -increases by perhaps 10% but a difference between 80µs and 90µs is hardly noticeable in real -applications. - -A normal MPMC channel may care about that kind of overhead, though, which is why most implementations -aren't perfectly fair. diff --git a/sqlx-bench/test.db b/sqlx-bench/test.db deleted file mode 100644 index 6d62cec842bda223f62bd0d39180d5c843087d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794624 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 z 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

w!Hx=cRIsCh9Tn`TU`GWzD%erMjtX{E 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 zc-F*84#&$@Wl#j`G+b@8l=XI(t& z;#n8Zx_H*bvo4->@vMtyT|DdJSr^Z`c-F=9-!A^=%-@;6Gk<6P&itMEJM(wu@66ws zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzn;IIzn;IIzn;II zzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;II zzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;II 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 Date: Sun, 13 Apr 2025 22:29:05 -0700 Subject: [PATCH 03/13] chore: set `rust-version` to 1.85 for all crates --- Cargo.toml | 5 +++-- rust-toolchain.toml | 2 +- sqlx-cli/Cargo.toml | 1 + sqlx-core/Cargo.toml | 1 + sqlx-core/src/query.rs | 2 +- sqlx-core/src/query_as.rs | 2 +- sqlx-core/src/query_scalar.rs | 2 +- sqlx-macros-core/Cargo.toml | 1 + sqlx-macros/Cargo.toml | 1 + sqlx-mysql/Cargo.toml | 2 +- sqlx-postgres/Cargo.toml | 2 +- sqlx-sqlite/Cargo.toml | 3 +-- sqlx-test/Cargo.toml | 3 ++- 13 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a469506c92..dfec4b9b1e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ members = [ [workspace.package] version = "0.9.0-alpha.1" license = "MIT OR Apache-2.0" +# TODO: upgrade to edition 2024 (after merging all pending PRs) edition = "2021" repository = "https://github.com/launchbadge/sqlx" keywords = ["database", "async", "postgres", "mysql", "sqlite"] @@ -35,8 +36,7 @@ authors = [ "Chloe Ross ", "Daniel Akhterov ", ] -# TODO: enable this for 0.9.0 -# rust-version = "1.80.0" +rust-version = "1.85.0" [package] name = "sqlx" @@ -48,6 +48,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] features = ["all-databases", "_unstable-all-types", "sqlite-preupdate-hook"] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 29f0b09695..e952d6e4bb 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ # Note: should NOT increase during a minor/patch release cycle [toolchain] -channel = "1.78" +channel = "1.85" profile = "minimal" diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index de87b38ba0..2c33688728 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -14,6 +14,7 @@ authors = [ "Jesper Axelsson ", "Austin Bonander ", ] +rust-version.workspace = true [[bin]] name = "sqlx" diff --git a/sqlx-core/Cargo.toml b/sqlx-core/Cargo.toml index f6017a9fee..51b82fa68e 100644 --- a/sqlx-core/Cargo.toml +++ b/sqlx-core/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] features = ["offline"] diff --git a/sqlx-core/src/query.rs b/sqlx-core/src/query.rs index 60f509c342..4f21f73cda 100644 --- a/sqlx-core/src/query.rs +++ b/sqlx-core/src/query.rs @@ -499,7 +499,7 @@ where /// Execute a single SQL query as a prepared statement (explicitly created). pub fn query_statement<'q, DB>( statement: &'q DB::Statement<'q>, -) -> Query<'q, DB, ::Arguments<'_>> +) -> Query<'q, DB, ::Arguments<'q>> where DB: Database, { diff --git a/sqlx-core/src/query_as.rs b/sqlx-core/src/query_as.rs index 9f28fe41e9..cc78434b5d 100644 --- a/sqlx-core/src/query_as.rs +++ b/sqlx-core/src/query_as.rs @@ -386,7 +386,7 @@ where // Make a SQL query from a statement, that is mapped to a concrete type. pub fn query_statement_as<'q, DB, O>( statement: &'q DB::Statement<'q>, -) -> QueryAs<'q, DB, O, ::Arguments<'_>> +) -> QueryAs<'q, DB, O, ::Arguments<'q>> where DB: Database, O: for<'r> FromRow<'r, DB::Row>, diff --git a/sqlx-core/src/query_scalar.rs b/sqlx-core/src/query_scalar.rs index c131adcca3..2f0fbbc7e7 100644 --- a/sqlx-core/src/query_scalar.rs +++ b/sqlx-core/src/query_scalar.rs @@ -365,7 +365,7 @@ where // Make a SQL query from a statement, that is mapped to a concrete value. pub fn query_statement_scalar<'q, DB, O>( statement: &'q DB::Statement<'q>, -) -> QueryScalar<'q, DB, O, ::Arguments<'_>> +) -> QueryScalar<'q, DB, O, ::Arguments<'q>> where DB: Database, (O,): for<'r> FromRow<'r, DB::Row>, diff --git a/sqlx-macros-core/Cargo.toml b/sqlx-macros-core/Cargo.toml index 07d9d78862..d78cbe3d63 100644 --- a/sqlx-macros-core/Cargo.toml +++ b/sqlx-macros-core/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [features] default = [] diff --git a/sqlx-macros/Cargo.toml b/sqlx-macros/Cargo.toml index b513c3e808..032a190dd1 100644 --- a/sqlx-macros/Cargo.toml +++ b/sqlx-macros/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [lib] proc-macro = true diff --git a/sqlx-mysql/Cargo.toml b/sqlx-mysql/Cargo.toml index 3971c2ff87..9bba7aa0a9 100644 --- a/sqlx-mysql/Cargo.toml +++ b/sqlx-mysql/Cargo.toml @@ -7,7 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] json = ["sqlx-core/json", "serde"] diff --git a/sqlx-postgres/Cargo.toml b/sqlx-postgres/Cargo.toml index 818aadbab7..f9328d03ca 100644 --- a/sqlx-postgres/Cargo.toml +++ b/sqlx-postgres/Cargo.toml @@ -7,7 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] any = ["sqlx-core/any"] diff --git a/sqlx-sqlite/Cargo.toml b/sqlx-sqlite/Cargo.toml index ca4c84c958..151283deda 100644 --- a/sqlx-sqlite/Cargo.toml +++ b/sqlx-sqlite/Cargo.toml @@ -7,8 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] any = ["sqlx-core/any"] diff --git a/sqlx-test/Cargo.toml b/sqlx-test/Cargo.toml index af76d5562f..32a341adcb 100644 --- a/sqlx-test/Cargo.toml +++ b/sqlx-test/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "sqlx-test" version = "0.1.0" -edition = "2021" +edition.workspace = true publish = false +rust-version.workspace = true [dependencies] sqlx = { default-features = false, path = ".." } From 531cf7a7cb55e5c69a4b488a14a84f56a56fbc85 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:46:02 -0700 Subject: [PATCH 04/13] fix: lots of new Clippy warnings --- benches/sqlite/describe.rs | 2 +- sqlx-macros-core/src/common.rs | 4 ++-- sqlx-macros-core/src/test_attr.rs | 10 +++------- sqlx-mysql/src/connection/establish.rs | 2 +- sqlx-mysql/src/connection/executor.rs | 4 ++-- sqlx-mysql/src/protocol/statement/execute.rs | 2 +- sqlx-mysql/src/types/text.rs | 2 +- sqlx-postgres/src/types/cube.rs | 2 +- sqlx-postgres/src/types/geometry/box.rs | 2 +- sqlx-postgres/src/types/geometry/circle.rs | 2 +- sqlx-postgres/src/types/geometry/line.rs | 2 +- .../src/types/geometry/line_segment.rs | 2 +- sqlx-postgres/src/types/geometry/path.rs | 2 +- sqlx-postgres/src/types/geometry/point.rs | 2 +- sqlx-postgres/src/types/geometry/polygon.rs | 2 +- sqlx-sqlite/src/connection/intmap.rs | 18 +++++++----------- sqlx-sqlite/src/connection/worker.rs | 16 ++++++++-------- sqlx-sqlite/src/logger.rs | 2 +- sqlx-sqlite/src/value.rs | 8 ++++---- tests/mysql/mysql.rs | 2 +- tests/mysql/types.rs | 4 ++-- tests/postgres/query_builder.rs | 2 +- tests/postgres/test-attr.rs | 4 ++-- tests/sqlite/any.rs | 2 +- tests/sqlite/sqlite.rs | 16 ++++++++-------- tests/sqlite/types.rs | 2 +- 26 files changed, 55 insertions(+), 63 deletions(-) diff --git a/benches/sqlite/describe.rs b/benches/sqlite/describe.rs index 470c1f7362..5d353b3d3c 100644 --- a/benches/sqlite/describe.rs +++ b/benches/sqlite/describe.rs @@ -3,7 +3,7 @@ use criterion::Criterion; use criterion::{criterion_group, criterion_main}; use sqlx::sqlite::{Sqlite, SqliteConnection}; -use sqlx::{Connection, Executor}; +use sqlx::Executor; use sqlx_test::new; // Here we have an async function to benchmark diff --git a/sqlx-macros-core/src/common.rs b/sqlx-macros-core/src/common.rs index fab09b7cae..b195a9ffd0 100644 --- a/sqlx-macros-core/src/common.rs +++ b/sqlx-macros-core/src/common.rs @@ -15,9 +15,9 @@ pub(crate) fn resolve_path(path: impl AsRef, err_span: Span) -> syn::Resul // requires `proc_macro::SourceFile::path()` to be stable // https://github.com/rust-lang/rust/issues/54725 if path.is_relative() - && !path + && path .parent() - .map_or(false, |parent| !parent.as_os_str().is_empty()) + .is_none_or(|parent| parent.as_os_str().is_empty()) { return Err(syn::Error::new( err_span, diff --git a/sqlx-macros-core/src/test_attr.rs b/sqlx-macros-core/src/test_attr.rs index d7c6eb0486..3104a0e743 100644 --- a/sqlx-macros-core/src/test_attr.rs +++ b/sqlx-macros-core/src/test_attr.rs @@ -246,13 +246,9 @@ fn parse_args(attr_args: AttributeArgs) -> syn::Result { fn recurse_lit_lookup(expr: Expr) -> Option { match expr { - Expr::Lit(syn::ExprLit { lit, .. }) => { - return Some(lit); - } - Expr::Group(syn::ExprGroup { expr, .. }) => { - return recurse_lit_lookup(*expr); - } - _ => return None, + Expr::Lit(syn::ExprLit { lit, .. }) => Some(lit), + Expr::Group(syn::ExprGroup { expr, .. }) => recurse_lit_lookup(*expr), + _ => None, } } diff --git a/sqlx-mysql/src/connection/establish.rs b/sqlx-mysql/src/connection/establish.rs index 85a9d84f96..ec7d8e4c2c 100644 --- a/sqlx-mysql/src/connection/establish.rs +++ b/sqlx-mysql/src/connection/establish.rs @@ -186,7 +186,7 @@ impl<'a> DoHandshake<'a> { } } -impl<'a> WithSocket for DoHandshake<'a> { +impl WithSocket for DoHandshake<'_> { type Output = Result; async fn with_socket(self, socket: S) -> Self::Output { diff --git a/sqlx-mysql/src/connection/executor.rs b/sqlx-mysql/src/connection/executor.rs index 4f5af4bf6d..44cb523f56 100644 --- a/sqlx-mysql/src/connection/executor.rs +++ b/sqlx-mysql/src/connection/executor.rs @@ -25,7 +25,7 @@ use futures_util::TryStreamExt; use std::{borrow::Cow, pin::pin, sync::Arc}; impl MySqlConnection { - async fn prepare_statement<'c>( + async fn prepare_statement( &mut self, sql: &str, ) -> Result<(u32, MySqlStatementMetadata), Error> { @@ -72,7 +72,7 @@ impl MySqlConnection { Ok((id, metadata)) } - async fn get_or_prepare_statement<'c>( + async fn get_or_prepare_statement( &mut self, sql: &str, ) -> Result<(u32, MySqlStatementMetadata), Error> { diff --git a/sqlx-mysql/src/protocol/statement/execute.rs b/sqlx-mysql/src/protocol/statement/execute.rs index 6e51e7b564..89010315bb 100644 --- a/sqlx-mysql/src/protocol/statement/execute.rs +++ b/sqlx-mysql/src/protocol/statement/execute.rs @@ -11,7 +11,7 @@ pub struct Execute<'q> { pub arguments: &'q MySqlArguments, } -impl<'q> ProtocolEncode<'_, Capabilities> for Execute<'q> { +impl ProtocolEncode<'_, Capabilities> for Execute<'_> { fn encode_with(&self, buf: &mut Vec, _: Capabilities) -> Result<(), crate::Error> { buf.push(0x17); // COM_STMT_EXECUTE buf.extend(&self.statement.to_le_bytes()); diff --git a/sqlx-mysql/src/types/text.rs b/sqlx-mysql/src/types/text.rs index ad61c1bee8..363ec02439 100644 --- a/sqlx-mysql/src/types/text.rs +++ b/sqlx-mysql/src/types/text.rs @@ -16,7 +16,7 @@ impl Type for Text { } } -impl<'q, T> Encode<'q, MySql> for Text +impl Encode<'_, MySql> for Text where T: Display, { diff --git a/sqlx-postgres/src/types/cube.rs b/sqlx-postgres/src/types/cube.rs index cc2a016090..d7ddbd1723 100644 --- a/sqlx-postgres/src/types/cube.rs +++ b/sqlx-postgres/src/types/cube.rs @@ -71,7 +71,7 @@ impl<'r> Decode<'r, Postgres> for PgCube { } } -impl<'q> Encode<'q, Postgres> for PgCube { +impl Encode<'_, Postgres> for PgCube { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("cube")) } diff --git a/sqlx-postgres/src/types/geometry/box.rs b/sqlx-postgres/src/types/geometry/box.rs index 28016b2786..ad4fa39ef7 100644 --- a/sqlx-postgres/src/types/geometry/box.rs +++ b/sqlx-postgres/src/types/geometry/box.rs @@ -56,7 +56,7 @@ impl<'r> Decode<'r, Postgres> for PgBox { } } -impl<'q> Encode<'q, Postgres> for PgBox { +impl Encode<'_, Postgres> for PgBox { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("box")) } diff --git a/sqlx-postgres/src/types/geometry/circle.rs b/sqlx-postgres/src/types/geometry/circle.rs index dde54dd276..3f374ea74e 100644 --- a/sqlx-postgres/src/types/geometry/circle.rs +++ b/sqlx-postgres/src/types/geometry/circle.rs @@ -54,7 +54,7 @@ impl<'r> Decode<'r, Postgres> for PgCircle { } } -impl<'q> Encode<'q, Postgres> for PgCircle { +impl Encode<'_, Postgres> for PgCircle { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("circle")) } diff --git a/sqlx-postgres/src/types/geometry/line.rs b/sqlx-postgres/src/types/geometry/line.rs index 8f08c949ef..6bc90676ed 100644 --- a/sqlx-postgres/src/types/geometry/line.rs +++ b/sqlx-postgres/src/types/geometry/line.rs @@ -47,7 +47,7 @@ impl<'r> Decode<'r, Postgres> for PgLine { } } -impl<'q> Encode<'q, Postgres> for PgLine { +impl Encode<'_, Postgres> for PgLine { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("line")) } diff --git a/sqlx-postgres/src/types/geometry/line_segment.rs b/sqlx-postgres/src/types/geometry/line_segment.rs index cd08e4da4a..486d2ba07d 100644 --- a/sqlx-postgres/src/types/geometry/line_segment.rs +++ b/sqlx-postgres/src/types/geometry/line_segment.rs @@ -57,7 +57,7 @@ impl<'r> Decode<'r, Postgres> for PgLSeg { } } -impl<'q> Encode<'q, Postgres> for PgLSeg { +impl Encode<'_, Postgres> for PgLSeg { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("lseg")) } diff --git a/sqlx-postgres/src/types/geometry/path.rs b/sqlx-postgres/src/types/geometry/path.rs index 6799289fac..4f99e7e983 100644 --- a/sqlx-postgres/src/types/geometry/path.rs +++ b/sqlx-postgres/src/types/geometry/path.rs @@ -64,7 +64,7 @@ impl<'r> Decode<'r, Postgres> for PgPath { } } -impl<'q> Encode<'q, Postgres> for PgPath { +impl Encode<'_, Postgres> for PgPath { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("path")) } diff --git a/sqlx-postgres/src/types/geometry/point.rs b/sqlx-postgres/src/types/geometry/point.rs index 5078ce1ee4..1a57403810 100644 --- a/sqlx-postgres/src/types/geometry/point.rs +++ b/sqlx-postgres/src/types/geometry/point.rs @@ -50,7 +50,7 @@ impl<'r> Decode<'r, Postgres> for PgPoint { } } -impl<'q> Encode<'q, Postgres> for PgPoint { +impl Encode<'_, Postgres> for PgPoint { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("point")) } diff --git a/sqlx-postgres/src/types/geometry/polygon.rs b/sqlx-postgres/src/types/geometry/polygon.rs index a5a203c680..e612b93499 100644 --- a/sqlx-postgres/src/types/geometry/polygon.rs +++ b/sqlx-postgres/src/types/geometry/polygon.rs @@ -63,7 +63,7 @@ impl<'r> Decode<'r, Postgres> for PgPolygon { } } -impl<'q> Encode<'q, Postgres> for PgPolygon { +impl Encode<'_, Postgres> for PgPolygon { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("polygon")) } diff --git a/sqlx-sqlite/src/connection/intmap.rs b/sqlx-sqlite/src/connection/intmap.rs index dc09162f64..f22dea5971 100644 --- a/sqlx-sqlite/src/connection/intmap.rs +++ b/sqlx-sqlite/src/connection/intmap.rs @@ -24,9 +24,11 @@ impl IntMap { } pub(crate) fn expand(&mut self, size: i64) -> usize { - let idx = size.try_into().expect("negative column index unsupported"); - while self.0.len() <= idx { - self.0.push(None); + let idx = usize::try_from(size).expect("negative column index unsupported"); + if idx >= self.0.len() { + let new_len = idx.checked_add(1).expect("idx + 1 overflowed"); + + self.0.resize_with(new_len, || None); } idx } @@ -95,15 +97,9 @@ impl IntMap { } impl IntMap { - pub(crate) fn get_mut_or_default<'a>(&'a mut self, idx: &i64) -> &'a mut V { + pub(crate) fn get_mut_or_default(&mut self, idx: &i64) -> &mut V { let idx: usize = self.expand(*idx); - - let item: &mut Option = &mut self.0[idx]; - if item.is_none() { - *item = Some(V::default()); - } - - return self.0[idx].as_mut().unwrap(); + self.0[idx].get_or_insert_default() } } diff --git a/sqlx-sqlite/src/connection/worker.rs b/sqlx-sqlite/src/connection/worker.rs index 00a4c2999c..ec8b38f0f6 100644 --- a/sqlx-sqlite/src/connection/worker.rs +++ b/sqlx-sqlite/src/connection/worker.rs @@ -145,14 +145,14 @@ impl ConnectionWorker { let _guard = span.enter(); match cmd { Command::Prepare { query, tx } => { - tx.send(prepare(&mut conn, &query).map(|prepared| { - update_cached_statements_size( - &conn, - &shared.cached_statements_size, - ); - prepared - })) - .ok(); + tx.send(prepare(&mut conn, &query)).ok(); + + // This may issue an unnecessary write on failure, + // but it doesn't matter in the grand scheme of things. + update_cached_statements_size( + &conn, + &shared.cached_statements_size, + ); } Command::Describe { query, tx } => { tx.send(describe(&mut conn, &query)).ok(); diff --git a/sqlx-sqlite/src/logger.rs b/sqlx-sqlite/src/logger.rs index 3abed8cebc..1464a730c7 100644 --- a/sqlx-sqlite/src/logger.rs +++ b/sqlx-sqlite/src/logger.rs @@ -436,7 +436,7 @@ impl<'q, R: Debug, S: Debug + DebugDiff, P: Debug> QueryPlanLogger<'q, R, S, P> } } -impl<'q, R: Debug, S: Debug + DebugDiff, P: Debug> Drop for QueryPlanLogger<'q, R, S, P> { +impl Drop for QueryPlanLogger<'_, R, S, P> { fn drop(&mut self) { self.finish(); } diff --git a/sqlx-sqlite/src/value.rs b/sqlx-sqlite/src/value.rs index 469c4e70d5..dc40f29ccb 100644 --- a/sqlx-sqlite/src/value.rs +++ b/sqlx-sqlite/src/value.rs @@ -108,8 +108,8 @@ pub(crate) struct ValueHandle<'a> { } // SAFE: only protected value objects are stored in SqliteValue -unsafe impl<'a> Send for ValueHandle<'a> {} -unsafe impl<'a> Sync for ValueHandle<'a> {} +unsafe impl Send for ValueHandle<'_> {} +unsafe impl Sync for ValueHandle<'_> {} impl ValueHandle<'static> { fn new_owned(value: NonNull, type_info: SqliteTypeInfo) -> Self { @@ -122,7 +122,7 @@ impl ValueHandle<'static> { } } -impl<'a> ValueHandle<'a> { +impl ValueHandle<'_> { fn new_borrowed(value: NonNull, type_info: SqliteTypeInfo) -> Self { Self { value, @@ -185,7 +185,7 @@ impl<'a> ValueHandle<'a> { } } -impl<'a> Drop for ValueHandle<'a> { +impl Drop for ValueHandle<'_> { fn drop(&mut self) { if self.free_on_drop { unsafe { diff --git a/tests/mysql/mysql.rs b/tests/mysql/mysql.rs index fe0f24050d..8af6c91de2 100644 --- a/tests/mysql/mysql.rs +++ b/tests/mysql/mysql.rs @@ -580,7 +580,7 @@ async fn test_shrink_buffers() -> anyhow::Result<()> { conn.shrink_buffers(); let ret: i64 = sqlx::query_scalar("SELECT ?") - .bind(&12345678i64) + .bind(12345678i64) .fetch_one(&mut conn) .await?; diff --git a/tests/mysql/types.rs b/tests/mysql/types.rs index e837a53f75..7eff6882e2 100644 --- a/tests/mysql/types.rs +++ b/tests/mysql/types.rs @@ -316,8 +316,8 @@ CREATE TEMPORARY TABLE with_bits ( .await?; sqlx::query("INSERT INTO with_bits (value_1, value_n) VALUES (?, ?)") - .bind(&1_u8) - .bind(&510202_u32) + .bind(1_u8) + .bind(510202_u32) .execute(&mut conn) .await?; diff --git a/tests/postgres/query_builder.rs b/tests/postgres/query_builder.rs index 08ed7d11a3..cdec136976 100644 --- a/tests/postgres/query_builder.rs +++ b/tests/postgres/query_builder.rs @@ -55,7 +55,7 @@ fn test_build() { let query = qb.build(); assert_eq!(query.sql(), "SELECT * FROM users WHERE id = $1"); - assert_eq!(Execute::persistent(&query), true); + assert!(Execute::persistent(&query)); } #[test] diff --git a/tests/postgres/test-attr.rs b/tests/postgres/test-attr.rs index d662024379..78a8b1f59a 100644 --- a/tests/postgres/test-attr.rs +++ b/tests/postgres/test-attr.rs @@ -158,7 +158,7 @@ async fn it_gets_comments(pool: PgPool) -> sqlx::Result<()> { let post_1_comments: Vec = sqlx::query_scalar( "SELECT content FROM comment WHERE post_id = $1::uuid ORDER BY created_at", ) - .bind(&"252c1d98-a9b0-4f18-8298-e59058bdfe16") + .bind("252c1d98-a9b0-4f18-8298-e59058bdfe16") .fetch_all(&pool) .await?; @@ -170,7 +170,7 @@ async fn it_gets_comments(pool: PgPool) -> sqlx::Result<()> { let post_2_comments: Vec = sqlx::query_scalar( "SELECT content FROM comment WHERE post_id = $1::uuid ORDER BY created_at", ) - .bind(&"844265f7-2472-4689-9a2e-b21f40dbf401") + .bind("844265f7-2472-4689-9a2e-b21f40dbf401") .fetch_all(&pool) .await?; diff --git a/tests/sqlite/any.rs b/tests/sqlite/any.rs index 856db70c05..b71c3ba43d 100644 --- a/tests/sqlite/any.rs +++ b/tests/sqlite/any.rs @@ -1,4 +1,4 @@ -use sqlx::{Any, Sqlite}; +use sqlx::Any; use sqlx_test::new; #[sqlx_macros::test] diff --git a/tests/sqlite/sqlite.rs b/tests/sqlite/sqlite.rs index c23c4fc9ef..4d24b07412 100644 --- a/tests/sqlite/sqlite.rs +++ b/tests/sqlite/sqlite.rs @@ -639,7 +639,7 @@ async fn issue_1467() -> anyhow::Result<()> { // Random seed: let seed: [u8; 32] = rand::random(); - println!("RNG seed: {}", hex::encode(&seed)); + println!("RNG seed: {}", hex::encode(seed)); // Pre-determined seed: // let mut seed: [u8; 32] = [0u8; 32]; @@ -734,7 +734,7 @@ async fn test_query_with_progress_handler() -> anyhow::Result<()> { let mut conn = new::().await?; // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_progress_handler(1, move || { assert_eq!(state, "test"); false @@ -802,7 +802,7 @@ async fn test_query_with_update_hook() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_update_hook(move |result| { assert_eq!(state, "test"); assert_eq!(result.operation, SqliteOperation::Insert); @@ -858,7 +858,7 @@ async fn test_query_with_commit_hook() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_commit_hook(move || { CALLED.store(true, Ordering::Relaxed); assert_eq!(state, "test"); @@ -920,7 +920,7 @@ async fn test_query_with_rollback_hook() -> anyhow::Result<()> { let mut conn = new::().await?; // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); static CALLED: AtomicBool = AtomicBool::new(false); conn.lock_handle().await?.set_rollback_hook(move || { assert_eq!(state, "test"); @@ -977,7 +977,7 @@ async fn test_query_with_preupdate_hook_insert() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook({ move |result| { assert_eq!(state, "test"); @@ -1030,7 +1030,7 @@ async fn test_query_with_preupdate_hook_delete() -> anyhow::Result<()> { .await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook(move |result| { assert_eq!(state, "test"); assert_eq!(result.operation, SqliteOperation::Delete); @@ -1077,7 +1077,7 @@ async fn test_query_with_preupdate_hook_update() -> anyhow::Result<()> { static CALLED: AtomicBool = AtomicBool::new(false); let sqlite_value_stored: Arc>> = Default::default(); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook({ let sqlite_value_stored = sqlite_value_stored.clone(); move |result| { diff --git a/tests/sqlite/types.rs b/tests/sqlite/types.rs index 2497e406cc..008d04dd86 100644 --- a/tests/sqlite/types.rs +++ b/tests/sqlite/types.rs @@ -88,7 +88,7 @@ mod json_tests { .fetch_one(&mut conn) .await?; - assert_eq!(true, value); + assert!(value); Ok(()) } From da41c4e950449eb37b183196b7d64d36b7f53c1b Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:39:21 -0700 Subject: [PATCH 05/13] fix: lots more Clippy warnings --- sqlx-core/src/any/arguments.rs | 2 +- sqlx-core/src/any/row.rs | 2 +- sqlx-core/src/any/statement.rs | 2 +- sqlx-core/src/ext/async_stream.rs | 2 +- sqlx-core/src/io/encode.rs | 2 +- sqlx-core/src/logger.rs | 2 +- sqlx-core/src/net/socket/mod.rs | 8 ++++---- sqlx-core/src/net/tls/tls_rustls.rs | 4 ++-- sqlx-core/src/pool/executor.rs | 2 +- sqlx-core/src/pool/inner.rs | 6 ++---- sqlx-core/src/pool/maybe.rs | 6 +++--- sqlx-core/src/query.rs | 2 +- sqlx-core/src/query_as.rs | 2 +- sqlx-core/src/query_builder.rs | 3 +-- sqlx-core/src/query_scalar.rs | 2 +- sqlx-core/src/rt/mod.rs | 4 ++-- sqlx-core/src/transaction.rs | 12 ++++++------ sqlx-core/src/type_checking.rs | 2 +- 18 files changed, 31 insertions(+), 34 deletions(-) diff --git a/sqlx-core/src/any/arguments.rs b/sqlx-core/src/any/arguments.rs index 59a0c0f765..2c05e3fd5b 100644 --- a/sqlx-core/src/any/arguments.rs +++ b/sqlx-core/src/any/arguments.rs @@ -32,7 +32,7 @@ impl<'q> Arguments<'q> for AnyArguments<'q> { pub struct AnyArgumentBuffer<'q>(#[doc(hidden)] pub Vec>); -impl<'q> Default for AnyArguments<'q> { +impl Default for AnyArguments<'_> { fn default() -> Self { AnyArguments { values: AnyArgumentBuffer(vec![]), diff --git a/sqlx-core/src/any/row.rs b/sqlx-core/src/any/row.rs index 310881da14..57b8590b5f 100644 --- a/sqlx-core/src/any/row.rs +++ b/sqlx-core/src/any/row.rs @@ -63,7 +63,7 @@ impl Row for AnyRow { } } -impl<'i> ColumnIndex for &'i str { +impl ColumnIndex for &'_ str { fn index(&self, row: &AnyRow) -> Result { row.column_names .get(*self) diff --git a/sqlx-core/src/any/statement.rs b/sqlx-core/src/any/statement.rs index 1fbb11895c..6d513e9a06 100644 --- a/sqlx-core/src/any/statement.rs +++ b/sqlx-core/src/any/statement.rs @@ -51,7 +51,7 @@ impl<'q> Statement<'q> for AnyStatement<'q> { impl_statement_query!(AnyArguments<'_>); } -impl<'i> ColumnIndex> for &'i str { +impl ColumnIndex> for &'_ str { fn index(&self, statement: &AnyStatement<'_>) -> Result { statement .column_names diff --git a/sqlx-core/src/ext/async_stream.rs b/sqlx-core/src/ext/async_stream.rs index 56777ca4db..c41d940981 100644 --- a/sqlx-core/src/ext/async_stream.rs +++ b/sqlx-core/src/ext/async_stream.rs @@ -95,7 +95,7 @@ impl Yielder { } } -impl<'a, T> Stream for TryAsyncStream<'a, T> { +impl Stream for TryAsyncStream<'_, T> { type Item = Result; fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { diff --git a/sqlx-core/src/io/encode.rs b/sqlx-core/src/io/encode.rs index a603ea9325..ba032d294d 100644 --- a/sqlx-core/src/io/encode.rs +++ b/sqlx-core/src/io/encode.rs @@ -9,7 +9,7 @@ pub trait ProtocolEncode<'en, Context = ()> { fn encode_with(&self, buf: &mut Vec, context: Context) -> Result<(), crate::Error>; } -impl<'en, C> ProtocolEncode<'en, C> for &'_ [u8] { +impl ProtocolEncode<'_, C> for &'_ [u8] { fn encode_with(&self, buf: &mut Vec, _context: C) -> Result<(), crate::Error> { buf.extend_from_slice(self); Ok(()) diff --git a/sqlx-core/src/logger.rs b/sqlx-core/src/logger.rs index cf6dd533bd..18d5843d38 100644 --- a/sqlx-core/src/logger.rs +++ b/sqlx-core/src/logger.rs @@ -158,7 +158,7 @@ impl<'q> QueryLogger<'q> { } } -impl<'q> Drop for QueryLogger<'q> { +impl Drop for QueryLogger<'_> { fn drop(&mut self) { self.finish(); } diff --git a/sqlx-core/src/net/socket/mod.rs b/sqlx-core/src/net/socket/mod.rs index d11f15884e..1f24da8c40 100644 --- a/sqlx-core/src/net/socket/mod.rs +++ b/sqlx-core/src/net/socket/mod.rs @@ -62,7 +62,7 @@ pub struct Read<'a, S: ?Sized, B> { buf: &'a mut B, } -impl<'a, S: ?Sized, B> Future for Read<'a, S, B> +impl Future for Read<'_, S, B> where S: Socket, B: ReadBuf, @@ -90,7 +90,7 @@ pub struct Write<'a, S: ?Sized> { buf: &'a [u8], } -impl<'a, S: ?Sized> Future for Write<'a, S> +impl Future for Write<'_, S> where S: Socket, { @@ -116,7 +116,7 @@ pub struct Flush<'a, S: ?Sized> { socket: &'a mut S, } -impl<'a, S: Socket + ?Sized> Future for Flush<'a, S> { +impl Future for Flush<'_, S> { type Output = io::Result<()>; fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { @@ -128,7 +128,7 @@ pub struct Shutdown<'a, S: ?Sized> { socket: &'a mut S, } -impl<'a, S: ?Sized> Future for Shutdown<'a, S> +impl Future for Shutdown<'_, S> where S: Socket, { diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index 1a85cf0ff9..e7b9ee0ced 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -138,7 +138,7 @@ where } } else { #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let mut cert_store = certs_from_webpki(); + let cert_store = certs_from_webpki(); #[cfg(feature = "_tls-rustls-ring-native-roots")] let mut cert_store = certs_from_native_store(); @@ -225,7 +225,7 @@ fn certs_from_native_store() -> RootCertStore { log::warn!("Error loading native certificates: {e:?}"); } for cert in load_results.certs { - if let Err(e) = root_cert_store.add(cert.into()) { + if let Err(e) = root_cert_store.add(cert) { log::warn!("rustls failed to parse native certificate: {e:?}"); } } diff --git a/sqlx-core/src/pool/executor.rs b/sqlx-core/src/pool/executor.rs index ba27b44316..0eda818a5b 100644 --- a/sqlx-core/src/pool/executor.rs +++ b/sqlx-core/src/pool/executor.rs @@ -9,7 +9,7 @@ use crate::error::Error; use crate::executor::{Execute, Executor}; use crate::pool::Pool; -impl<'p, DB: Database> Executor<'p> for &'_ Pool +impl Executor<'_> for &'_ Pool where for<'c> &'c mut DB::Connection: Executor<'c, Database = DB>, { diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index 2066364a8e..f0fbef0697 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -451,15 +451,13 @@ pub(super) fn is_beyond_max_lifetime( options: &PoolOptions, ) -> bool { options - .max_lifetime - .map_or(false, |max| live.created_at.elapsed() > max) + .max_lifetime.is_some_and(|max| live.created_at.elapsed() > max) } /// Returns `true` if the connection has exceeded `options.idle_timeout` if set, `false` otherwise. fn is_beyond_idle_timeout(idle: &Idle, options: &PoolOptions) -> bool { options - .idle_timeout - .map_or(false, |timeout| idle.idle_since.elapsed() > timeout) + .idle_timeout.is_some_and(|timeout| idle.idle_since.elapsed() > timeout) } async fn check_idle_conn( diff --git a/sqlx-core/src/pool/maybe.rs b/sqlx-core/src/pool/maybe.rs index f9f16c41a5..71a48728a2 100644 --- a/sqlx-core/src/pool/maybe.rs +++ b/sqlx-core/src/pool/maybe.rs @@ -8,7 +8,7 @@ pub enum MaybePoolConnection<'c, DB: Database> { PoolConnection(PoolConnection), } -impl<'c, DB: Database> Deref for MaybePoolConnection<'c, DB> { +impl Deref for MaybePoolConnection<'_, DB> { type Target = DB::Connection; #[inline] @@ -20,7 +20,7 @@ impl<'c, DB: Database> Deref for MaybePoolConnection<'c, DB> { } } -impl<'c, DB: Database> DerefMut for MaybePoolConnection<'c, DB> { +impl DerefMut for MaybePoolConnection<'_, DB> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { match self { @@ -30,7 +30,7 @@ impl<'c, DB: Database> DerefMut for MaybePoolConnection<'c, DB> { } } -impl<'c, DB: Database> From> for MaybePoolConnection<'c, DB> { +impl From> for MaybePoolConnection<'_, DB> { fn from(v: PoolConnection) -> Self { MaybePoolConnection::PoolConnection(v) } diff --git a/sqlx-core/src/query.rs b/sqlx-core/src/query.rs index 4f21f73cda..3a982e7e79 100644 --- a/sqlx-core/src/query.rs +++ b/sqlx-core/src/query.rs @@ -120,7 +120,7 @@ impl<'q, DB: Database> Query<'q, DB, ::Arguments<'q>> { } } -impl<'q, DB, A> Query<'q, DB, A> +impl Query<'_, DB, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/query_as.rs b/sqlx-core/src/query_as.rs index cc78434b5d..5a5ae4c73e 100644 --- a/sqlx-core/src/query_as.rs +++ b/sqlx-core/src/query_as.rs @@ -57,7 +57,7 @@ impl<'q, DB: Database, O> QueryAs<'q, DB, O, ::Arguments<'q>> { } } -impl<'q, DB, O, A> QueryAs<'q, DB, O, A> +impl QueryAs<'_, DB, O, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/query_builder.rs b/sqlx-core/src/query_builder.rs index b242bf7b2a..b14d19adb2 100644 --- a/sqlx-core/src/query_builder.rs +++ b/sqlx-core/src/query_builder.rs @@ -30,7 +30,7 @@ where arguments: Option<::Arguments<'args>>, } -impl<'args, DB: Database> Default for QueryBuilder<'args, DB> { +impl Default for QueryBuilder<'_, DB> { fn default() -> Self { QueryBuilder { init_len: 0, @@ -191,7 +191,6 @@ where /// assert!(sql.ends_with("in (?, ?) ")); /// # } /// ``` - pub fn separated<'qb, Sep>(&'qb mut self, separator: Sep) -> Separated<'qb, 'args, DB, Sep> where 'args: 'qb, diff --git a/sqlx-core/src/query_scalar.rs b/sqlx-core/src/query_scalar.rs index 2f0fbbc7e7..f3fcfb403a 100644 --- a/sqlx-core/src/query_scalar.rs +++ b/sqlx-core/src/query_scalar.rs @@ -54,7 +54,7 @@ impl<'q, DB: Database, O> QueryScalar<'q, DB, O, ::Arguments<'q> } } -impl<'q, DB, O, A> QueryScalar<'q, DB, O, A> +impl QueryScalar<'_, DB, O, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/rt/mod.rs b/sqlx-core/src/rt/mod.rs index 43409073ab..d495994866 100644 --- a/sqlx-core/src/rt/mod.rs +++ b/sqlx-core/src/rt/mod.rs @@ -116,11 +116,11 @@ pub async fn yield_now() { pub fn test_block_on(f: F) -> F::Output { #[cfg(feature = "_rt-tokio")] { - return tokio::runtime::Builder::new_current_thread() + tokio::runtime::Builder::new_current_thread() .enable_all() .build() .expect("failed to start Tokio runtime") - .block_on(f); + .block_on(f) } #[cfg(all(feature = "_rt-async-std", not(feature = "_rt-tokio")))] diff --git a/sqlx-core/src/transaction.rs b/sqlx-core/src/transaction.rs index 2a84ff6555..21d12f7a78 100644 --- a/sqlx-core/src/transaction.rs +++ b/sqlx-core/src/transaction.rs @@ -199,7 +199,7 @@ where // } // } -impl<'c, DB> Debug for Transaction<'c, DB> +impl Debug for Transaction<'_, DB> where DB: Database, { @@ -209,7 +209,7 @@ where } } -impl<'c, DB> Deref for Transaction<'c, DB> +impl Deref for Transaction<'_, DB> where DB: Database, { @@ -221,7 +221,7 @@ where } } -impl<'c, DB> DerefMut for Transaction<'c, DB> +impl DerefMut for Transaction<'_, DB> where DB: Database, { @@ -235,13 +235,13 @@ where // `PgAdvisoryLockGuard`. // // See: https://github.com/launchbadge/sqlx/issues/2520 -impl<'c, DB: Database> AsMut for Transaction<'c, DB> { +impl AsMut for Transaction<'_, DB> { fn as_mut(&mut self) -> &mut DB::Connection { &mut self.connection } } -impl<'c, 't, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<'c, DB> { +impl<'t, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<'_, DB> { type Database = DB; type Connection = &'t mut ::Connection; @@ -257,7 +257,7 @@ impl<'c, 't, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<' } } -impl<'c, DB> Drop for Transaction<'c, DB> +impl Drop for Transaction<'_, DB> where DB: Database, { diff --git a/sqlx-core/src/type_checking.rs b/sqlx-core/src/type_checking.rs index 5766124530..1da6b7ab3f 100644 --- a/sqlx-core/src/type_checking.rs +++ b/sqlx-core/src/type_checking.rs @@ -112,7 +112,7 @@ where } } -impl<'v, DB> Debug for FmtValue<'v, DB> +impl Debug for FmtValue<'_, DB> where DB: Database, { From 732171d2e604a3fea7bc13ac26f40a56af9045d5 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:42:29 -0700 Subject: [PATCH 06/13] fix(cli): add `_sqlite` feature --- sqlx-cli/Cargo.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index 2c33688728..2d7301d9e4 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -56,14 +56,17 @@ native-tls = ["sqlx/runtime-tokio-native-tls"] # databases mysql = ["sqlx/mysql"] postgres = ["sqlx/postgres"] -sqlite = ["sqlx/sqlite"] -sqlite-unbundled = ["sqlx/sqlite-unbundled"] +sqlite = ["sqlx/sqlite", "_sqlite"] +sqlite-unbundled = ["sqlx/sqlite-unbundled", "_sqlite"] # workaround for musl + openssl issues openssl-vendored = ["openssl/vendored"] completions = ["dep:clap_complete"] +# Conditional compilation only +_sqlite = [] + [dev-dependencies] assert_cmd = "2.0.11" tempfile = "3.10.1" From 4f2e8a256fa4a66d390753f7183f1666781f1c5b Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:44:44 -0700 Subject: [PATCH 07/13] fix: lots, *lots* more Clippy warnings --- examples/postgres/listen/src/main.rs | 6 ++-- sqlx-core/src/net/tls/tls_rustls.rs | 2 +- sqlx-core/src/pool/inner.rs | 6 ++-- sqlx-mysql/src/io/buf_mut.rs | 18 +++++----- sqlx-postgres/src/advisory_lock.rs | 14 ++++---- sqlx-postgres/src/connection/executor.rs | 2 +- sqlx-postgres/src/connection/tls.rs | 2 +- sqlx-postgres/src/listener.rs | 4 +-- sqlx-postgres/src/message/response.rs | 2 +- sqlx-postgres/src/options/parse.rs | 2 +- sqlx-postgres/src/types/bigdecimal.rs | 3 +- sqlx-postgres/src/types/interval.rs | 12 +++---- sqlx-postgres/src/types/json.rs | 2 +- sqlx-postgres/src/types/rust_decimal.rs | 46 ++++++++++-------------- sqlx-postgres/src/types/text.rs | 2 +- 15 files changed, 58 insertions(+), 65 deletions(-) diff --git a/examples/postgres/listen/src/main.rs b/examples/postgres/listen/src/main.rs index b9ed35ba4b..49d97a466d 100644 --- a/examples/postgres/listen/src/main.rs +++ b/examples/postgres/listen/src/main.rs @@ -98,9 +98,9 @@ from ( ) notifies(chan, payload) "#, ) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) .execute(pool) .await; diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index e7b9ee0ced..7d91b9e879 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -138,7 +138,7 @@ where } } else { #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let cert_store = certs_from_webpki(); + let mut cert_store = certs_from_webpki(); #[cfg(feature = "_tls-rustls-ring-native-roots")] let mut cert_store = certs_from_native_store(); diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index f0fbef0697..51dd4b0055 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -451,13 +451,15 @@ pub(super) fn is_beyond_max_lifetime( options: &PoolOptions, ) -> bool { options - .max_lifetime.is_some_and(|max| live.created_at.elapsed() > max) + .max_lifetime + .is_some_and(|max| live.created_at.elapsed() > max) } /// Returns `true` if the connection has exceeded `options.idle_timeout` if set, `false` otherwise. fn is_beyond_idle_timeout(idle: &Idle, options: &PoolOptions) -> bool { options - .idle_timeout.is_some_and(|timeout| idle.idle_since.elapsed() > timeout) + .idle_timeout + .is_some_and(|timeout| idle.idle_since.elapsed() > timeout) } async fn check_idle_conn( diff --git a/sqlx-mysql/src/io/buf_mut.rs b/sqlx-mysql/src/io/buf_mut.rs index e40148e7b5..11bd2da5a2 100644 --- a/sqlx-mysql/src/io/buf_mut.rs +++ b/sqlx-mysql/src/io/buf_mut.rs @@ -45,7 +45,7 @@ impl MySqlBufMutExt for Vec { #[test] fn test_encodes_int_lenenc_u8() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFA as u64); + buf.put_uint_lenenc(0xFA_u64); assert_eq!(&buf[..], b"\xFA"); } @@ -53,7 +53,7 @@ fn test_encodes_int_lenenc_u8() { #[test] fn test_encodes_int_lenenc_u16() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(std::u16::MAX as u64); + buf.put_uint_lenenc(u16::MAX as u64); assert_eq!(&buf[..], b"\xFC\xFF\xFF"); } @@ -61,7 +61,7 @@ fn test_encodes_int_lenenc_u16() { #[test] fn test_encodes_int_lenenc_u24() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFF_FF_FF as u64); + buf.put_uint_lenenc(0xFF_FF_FF_u64); assert_eq!(&buf[..], b"\xFD\xFF\xFF\xFF"); } @@ -69,7 +69,7 @@ fn test_encodes_int_lenenc_u24() { #[test] fn test_encodes_int_lenenc_u64() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(std::u64::MAX); + buf.put_uint_lenenc(u64::MAX); assert_eq!(&buf[..], b"\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"); } @@ -77,7 +77,7 @@ fn test_encodes_int_lenenc_u64() { #[test] fn test_encodes_int_lenenc_fb() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFB as u64); + buf.put_uint_lenenc(0xFB_u64); assert_eq!(&buf[..], b"\xFC\xFB\x00"); } @@ -85,7 +85,7 @@ fn test_encodes_int_lenenc_fb() { #[test] fn test_encodes_int_lenenc_fc() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFC as u64); + buf.put_uint_lenenc(0xFC_u64); assert_eq!(&buf[..], b"\xFC\xFC\x00"); } @@ -93,7 +93,7 @@ fn test_encodes_int_lenenc_fc() { #[test] fn test_encodes_int_lenenc_fd() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFD as u64); + buf.put_uint_lenenc(0xFD_u64); assert_eq!(&buf[..], b"\xFC\xFD\x00"); } @@ -101,7 +101,7 @@ fn test_encodes_int_lenenc_fd() { #[test] fn test_encodes_int_lenenc_fe() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFE as u64); + buf.put_uint_lenenc(0xFE_u64); assert_eq!(&buf[..], b"\xFC\xFE\x00"); } @@ -109,7 +109,7 @@ fn test_encodes_int_lenenc_fe() { #[test] fn test_encodes_int_lenenc_ff() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFF as u64); + buf.put_uint_lenenc(0xFF_u64); assert_eq!(&buf[..], b"\xFC\xFF\x00"); } diff --git a/sqlx-postgres/src/advisory_lock.rs b/sqlx-postgres/src/advisory_lock.rs index d1aef176fb..047ede6be6 100644 --- a/sqlx-postgres/src/advisory_lock.rs +++ b/sqlx-postgres/src/advisory_lock.rs @@ -362,7 +362,7 @@ impl<'lock, C: AsMut> PgAdvisoryLockGuard<'lock, C> { } } -impl<'lock, C: AsMut + AsRef> Deref for PgAdvisoryLockGuard<'lock, C> { +impl + AsRef> Deref for PgAdvisoryLockGuard<'_, C> { type Target = PgConnection; fn deref(&self) -> &Self::Target { @@ -376,16 +376,14 @@ impl<'lock, C: AsMut + AsRef> Deref for PgAdvisoryLo /// However, replacing the connection with a different one using, e.g. [`std::mem::replace()`] /// is a logic error and will cause a warning to be logged by the PostgreSQL server when this /// guard attempts to release the lock. -impl<'lock, C: AsMut + AsRef> DerefMut - for PgAdvisoryLockGuard<'lock, C> -{ +impl + AsRef> DerefMut for PgAdvisoryLockGuard<'_, C> { fn deref_mut(&mut self) -> &mut Self::Target { self.conn.as_mut().expect(NONE_ERR).as_mut() } } -impl<'lock, C: AsMut + AsRef> AsRef - for PgAdvisoryLockGuard<'lock, C> +impl + AsRef> AsRef + for PgAdvisoryLockGuard<'_, C> { fn as_ref(&self) -> &PgConnection { self.conn.as_ref().expect(NONE_ERR).as_ref() @@ -398,7 +396,7 @@ impl<'lock, C: AsMut + AsRef> AsRef /// However, replacing the connection with a different one using, e.g. [`std::mem::replace()`] /// is a logic error and will cause a warning to be logged by the PostgreSQL server when this /// guard attempts to release the lock. -impl<'lock, C: AsMut> AsMut for PgAdvisoryLockGuard<'lock, C> { +impl> AsMut for PgAdvisoryLockGuard<'_, C> { fn as_mut(&mut self) -> &mut PgConnection { self.conn.as_mut().expect(NONE_ERR).as_mut() } @@ -407,7 +405,7 @@ impl<'lock, C: AsMut> AsMut for PgAdvisoryLockGuard< /// Queues a `pg_advisory_unlock()` call on the wrapped connection which will be flushed /// to the server the next time it is used, or when it is returned to [`PgPool`][crate::PgPool] /// in the case of [`PoolConnection`][crate::pool::PoolConnection]. -impl<'lock, C: AsMut> Drop for PgAdvisoryLockGuard<'lock, C> { +impl> Drop for PgAdvisoryLockGuard<'_, C> { fn drop(&mut self) { if let Some(mut conn) = self.conn.take() { // Queue a simple query message to execute next time the connection is used. diff --git a/sqlx-postgres/src/connection/executor.rs b/sqlx-postgres/src/connection/executor.rs index 3fe4f402d8..d0596aacee 100644 --- a/sqlx-postgres/src/connection/executor.rs +++ b/sqlx-postgres/src/connection/executor.rs @@ -165,7 +165,7 @@ impl PgConnection { self.inner.pending_ready_for_query_count += 1; } - async fn get_or_prepare<'a>( + async fn get_or_prepare( &mut self, sql: &str, parameters: &[PgTypeInfo], diff --git a/sqlx-postgres/src/connection/tls.rs b/sqlx-postgres/src/connection/tls.rs index 16b7333bf5..a49c9caa8c 100644 --- a/sqlx-postgres/src/connection/tls.rs +++ b/sqlx-postgres/src/connection/tls.rs @@ -7,7 +7,7 @@ use crate::{PgConnectOptions, PgSslMode}; pub struct MaybeUpgradeTls<'a>(pub &'a PgConnectOptions); -impl<'a> WithSocket for MaybeUpgradeTls<'a> { +impl WithSocket for MaybeUpgradeTls<'_> { type Output = crate::Result>; async fn with_socket(self, socket: S) -> Self::Output { diff --git a/sqlx-postgres/src/listener.rs b/sqlx-postgres/src/listener.rs index 17a46a916f..32658534c4 100644 --- a/sqlx-postgres/src/listener.rs +++ b/sqlx-postgres/src/listener.rs @@ -506,12 +506,12 @@ fn build_listen_all_query(channels: impl IntoIterator>) - #[test] fn test_build_listen_all_query_with_single_channel() { - let output = build_listen_all_query(&["test"]); + let output = build_listen_all_query(["test"]); assert_eq!(output.as_str(), r#"LISTEN "test";"#); } #[test] fn test_build_listen_all_query_with_multiple_channels() { - let output = build_listen_all_query(&["channel.0", "channel.1"]); + let output = build_listen_all_query(["channel.0", "channel.1"]); assert_eq!(output.as_str(), r#"LISTEN "channel.0";LISTEN "channel.1";"#); } diff --git a/sqlx-postgres/src/message/response.rs b/sqlx-postgres/src/message/response.rs index d6e43e0871..a7c09cfa34 100644 --- a/sqlx-postgres/src/message/response.rs +++ b/sqlx-postgres/src/message/response.rs @@ -195,7 +195,7 @@ struct Fields<'a> { offset: usize, } -impl<'a> Iterator for Fields<'a> { +impl Iterator for Fields<'_> { type Item = (u8, Range); fn next(&mut self) -> Option { diff --git a/sqlx-postgres/src/options/parse.rs b/sqlx-postgres/src/options/parse.rs index efbf85d8f6..e911305698 100644 --- a/sqlx-postgres/src/options/parse.rs +++ b/sqlx-postgres/src/options/parse.rs @@ -336,7 +336,7 @@ fn built_url_can_be_parsed() { let url = "postgres://username:p@ssw0rd@hostname:5432/database"; let opts = PgConnectOptions::from_str(url).unwrap(); - let parsed = PgConnectOptions::from_str(&opts.build_url().to_string()); + let parsed = PgConnectOptions::from_str(opts.build_url().as_ref()); assert!(parsed.is_ok()); } diff --git a/sqlx-postgres/src/types/bigdecimal.rs b/sqlx-postgres/src/types/bigdecimal.rs index 869f850797..cb9ce0a948 100644 --- a/sqlx-postgres/src/types/bigdecimal.rs +++ b/sqlx-postgres/src/types/bigdecimal.rs @@ -213,7 +213,8 @@ fn sign_to_pg(sign: Sign) -> PgNumericSign { } #[cfg(test)] -mod bigdecimal_to_pgnumeric { +#[allow(clippy::zero_prefixed_literal)] // Used for clarity +mod tests { use super::{BigDecimal, PgNumeric, PgNumericSign}; use std::convert::TryFrom; diff --git a/sqlx-postgres/src/types/interval.rs b/sqlx-postgres/src/types/interval.rs index 02b1faa67a..af4810323d 100644 --- a/sqlx-postgres/src/types/interval.rs +++ b/sqlx-postgres/src/types/interval.rs @@ -231,7 +231,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -243,7 +243,7 @@ fn test_encode_interval() { microseconds: 1_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 3, 232, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -255,7 +255,7 @@ fn test_encode_interval() { microseconds: 1_000_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 15, 66, 64, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -267,7 +267,7 @@ fn test_encode_interval() { microseconds: 3_600_000_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!( @@ -282,7 +282,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]); @@ -294,7 +294,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); diff --git a/sqlx-postgres/src/types/json.rs b/sqlx-postgres/src/types/json.rs index 567e48015e..32f886c781 100644 --- a/sqlx-postgres/src/types/json.rs +++ b/sqlx-postgres/src/types/json.rs @@ -54,7 +54,7 @@ impl PgHasArrayType for JsonRawValue { } } -impl<'q, T> Encode<'q, Postgres> for Json +impl Encode<'_, Postgres> for Json where T: Serialize, { diff --git a/sqlx-postgres/src/types/rust_decimal.rs b/sqlx-postgres/src/types/rust_decimal.rs index 8321e82811..549043d98d 100644 --- a/sqlx-postgres/src/types/rust_decimal.rs +++ b/sqlx-postgres/src/types/rust_decimal.rs @@ -188,6 +188,7 @@ impl Decode<'_, Postgres> for Decimal { } #[cfg(test)] +#[allow(clippy::zero_prefixed_literal)] // Used for clarity mod tests { use super::{Decimal, PgNumeric, PgNumericSign}; use std::convert::TryFrom; @@ -205,7 +206,7 @@ mod tests { fn one() { let one: Decimal = "1".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one).unwrap(), + PgNumeric::from(&one), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -219,7 +220,7 @@ mod tests { fn ten() { let ten: Decimal = "10".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&ten).unwrap(), + PgNumeric::from(&ten), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -233,7 +234,7 @@ mod tests { fn one_hundred() { let one_hundred: Decimal = "100".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one_hundred).unwrap(), + PgNumeric::from(&one_hundred), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -248,7 +249,7 @@ mod tests { // Decimal doesn't normalize here let ten_thousand: Decimal = "10000".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&ten_thousand).unwrap(), + PgNumeric::from(&ten_thousand), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -262,7 +263,7 @@ mod tests { fn two_digits() { let two_digits: Decimal = "12345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&two_digits).unwrap(), + PgNumeric::from(&two_digits), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -276,7 +277,7 @@ mod tests { fn one_tenth() { let one_tenth: Decimal = "0.1".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one_tenth).unwrap(), + PgNumeric::from(&one_tenth), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 1, @@ -290,7 +291,7 @@ mod tests { fn decimal_1() { let decimal: Decimal = "1.2345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 4, @@ -304,7 +305,7 @@ mod tests { fn decimal_2() { let decimal: Decimal = "0.12345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 5, @@ -318,7 +319,7 @@ mod tests { fn decimal_3() { let decimal: Decimal = "0.01234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 5, @@ -337,7 +338,7 @@ mod tests { weight: 1, digits: vec![1, 2345, 6789], }; - assert_eq!(PgNumeric::try_from(&decimal).unwrap(), expected_numeric); + assert_eq!(PgNumeric::from(&decimal), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, decimal); @@ -354,10 +355,7 @@ mod tests { weight: -2, digits: vec![1234], }; - assert_eq!( - PgNumeric::try_from(&one_digit_decimal).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&one_digit_decimal), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, one_digit_decimal); @@ -373,10 +371,7 @@ mod tests { weight: 7, digits: vec![7, 9228, 1625, 1426, 4337, 5935, 4395, 0335], }; - assert_eq!( - PgNumeric::try_from(&Decimal::MAX).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&Decimal::MAX), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, Decimal::MAX); @@ -399,10 +394,7 @@ mod tests { weight: 0, digits: vec![7, 9228, 1625, 1426, 4337, 5935, 4395, 0335], }; - assert_eq!( - PgNumeric::try_from(&max_value_max_scale).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&max_value_max_scale), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, max_value_max_scale); @@ -418,7 +410,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let four_digit: Decimal = "1234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&four_digit).unwrap(), + PgNumeric::from(&four_digit), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -433,7 +425,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let negative_four_digit: Decimal = "-1234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&negative_four_digit).unwrap(), + PgNumeric::from(&negative_four_digit), PgNumeric::Number { sign: PgNumericSign::Negative, scale: 0, @@ -448,7 +440,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let eight_digit: Decimal = "12345678".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&eight_digit).unwrap(), + PgNumeric::from(&eight_digit), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -463,7 +455,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let negative_eight_digit: Decimal = "-12345678".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&negative_eight_digit).unwrap(), + PgNumeric::from(&negative_eight_digit), PgNumeric::Number { sign: PgNumericSign::Negative, scale: 0, @@ -483,7 +475,7 @@ mod tests { weight: 0, digits: vec![100], }; - assert_eq!(PgNumeric::try_from(&one_hundred).unwrap(), expected_numeric); + assert_eq!(PgNumeric::from(&one_hundred), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, one_hundred); diff --git a/sqlx-postgres/src/types/text.rs b/sqlx-postgres/src/types/text.rs index b5b0a5ed7b..12d92d4b2a 100644 --- a/sqlx-postgres/src/types/text.rs +++ b/sqlx-postgres/src/types/text.rs @@ -18,7 +18,7 @@ impl Type for Text { } } -impl<'q, T> Encode<'q, Postgres> for Text +impl Encode<'_, Postgres> for Text where T: Display, { From e1d9a28b460f67a44903687b0c7c0552e85798a9 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 14 Apr 2025 00:26:13 -0700 Subject: [PATCH 08/13] fix(core): warning in `tls_rustls` --- sqlx-core/src/net/tls/tls_rustls.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index 7d91b9e879..726df324aa 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -137,10 +137,7 @@ where .with_no_client_auth() } } else { - #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let mut cert_store = certs_from_webpki(); - #[cfg(feature = "_tls-rustls-ring-native-roots")] - let mut cert_store = certs_from_native_store(); + let mut cert_store = import_root_certs(); if let Some(ca) = tls_config.root_cert_path { let data = ca.data().await?; @@ -211,13 +208,13 @@ fn private_key_from_pem(pem: Vec) -> Result, Error> { } } -#[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] -fn certs_from_webpki() -> RootCertStore { +#[cfg(all(feature = "webpki-roots", not(feature = "rustls-native-certs")))] +fn import_root_certs() -> RootCertStore { RootCertStore::from_iter(webpki_roots::TLS_SERVER_ROOTS.iter().cloned()) } -#[cfg(feature = "_tls-rustls-ring-native-roots")] -fn certs_from_native_store() -> RootCertStore { +#[cfg(feature = "rustls-native-certs")] +fn import_root_certs() -> RootCertStore { let mut root_cert_store = RootCertStore::empty(); let load_results = rustls_native_certs::load_native_certs(); @@ -233,6 +230,12 @@ fn certs_from_native_store() -> RootCertStore { root_cert_store } +// Not currently used but allows for a "tls-rustls-no-roots" feature. +#[cfg(not(any(feature = "rustls-native-certs", feature = "webpki-roots")))] +fn import_root_certs() -> RootCertStore { + RootCertStore::empty() +} + #[derive(Debug)] struct DummyTlsVerifier { provider: Arc, From d8dc01cdc375c5ad06426f762cb0ee11a3851225 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 14 Apr 2025 01:42:47 -0700 Subject: [PATCH 09/13] breaking: delete runtime+TLS combination features --- Cargo.toml | 8 -------- README.md | 8 -------- sqlx-cli/Cargo.toml | 4 ++-- src/lib.md | 5 ----- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index dfec4b9b1e..388dc896f5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,14 +92,6 @@ tls-rustls-ring-native-roots = ["sqlx-core/_tls-rustls-ring-native-roots", "sqlx # No-op feature used by the workflows to compile without TLS enabled. Not meant for general use. tls-none = [] -# Legacy Runtime + TLS features - -runtime-async-std-native-tls = ["runtime-async-std", "tls-native-tls"] -runtime-async-std-rustls = ["runtime-async-std", "tls-rustls-ring"] - -runtime-tokio-native-tls = ["runtime-tokio", "tls-native-tls"] -runtime-tokio-rustls = ["runtime-tokio", "tls-rustls-ring"] - # for conditional compilation _rt-async-std = [] _rt-tokio = [] diff --git a/README.md b/README.md index cc0ecf2e66..747ad079f0 100644 --- a/README.md +++ b/README.md @@ -165,16 +165,8 @@ be removed in the future. - `runtime-async-std`: Use the `async-std` runtime without enabling a TLS backend. -- `runtime-async-std-native-tls`: Use the `async-std` runtime and `native-tls` TLS backend (SOFT-DEPRECATED). - -- `runtime-async-std-rustls`: Use the `async-std` runtime and `rustls` TLS backend (SOFT-DEPRECATED). - - `runtime-tokio`: Use the `tokio` runtime without enabling a TLS backend. -- `runtime-tokio-native-tls`: Use the `tokio` runtime and `native-tls` TLS backend (SOFT-DEPRECATED). - -- `runtime-tokio-rustls`: Use the `tokio` runtime and `rustls` TLS backend (SOFT-DEPRECATED). - - Actix-web is fully compatible with Tokio and so a separate runtime feature is no longer needed. - `tls-native-tls`: Use the `native-tls` TLS backend (OpenSSL on *nix, SChannel on Windows, Secure Transport on macOS). diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index 2d7301d9e4..f8c821a8f8 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -50,8 +50,8 @@ backoff = { version = "0.4.0", features = ["futures", "tokio"] } [features] default = ["postgres", "sqlite", "mysql", "native-tls", "completions"] -rustls = ["sqlx/runtime-tokio-rustls"] -native-tls = ["sqlx/runtime-tokio-native-tls"] +rustls = ["sqlx/tls-rustls"] +native-tls = ["sqlx/tls-native-tls"] # databases mysql = ["sqlx/mysql"] diff --git a/src/lib.md b/src/lib.md index aa45b15730..7fc5b899a7 100644 --- a/src/lib.md +++ b/src/lib.md @@ -12,8 +12,6 @@ You choose which runtime SQLx uses by default by enabling one of the following f * `runtime-async-std` * `runtime-tokio` -The `runtime-actix` feature also exists but is an alias of `runtime-tokio`. - If more than one runtime feature is enabled, the Tokio runtime is used if a Tokio context exists on the current thread, i.e. [`tokio::runtime::Handle::try_current()`] returns `Ok`; `async-std` is used otherwise. @@ -53,9 +51,6 @@ Consult the user manual for your database to find the TLS versions it supports. If your connection configuration requires a TLS upgrade but TLS support was not enabled, the connection attempt will return an error. -The legacy runtime+TLS combination feature flags are still supported, but for forward-compatibility, use of the separate -runtime and TLS feature flags is recommended. - [the LaunchBadge team]: https://www.launchbadge.com [README]: https://www.github.com/launchbadge/sqlx/tree/main/README.md [browse our example projects]: https://www.github.com/launchbadge/sqlx/tree/main/examples From 8ae85d604a42d3b72c6f4192a46bb58733e58f76 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 15 Apr 2025 20:28:57 -0700 Subject: [PATCH 10/13] chore: don't re-export unstable `TransactionManager` trait --- sqlx-core/src/transaction.rs | 1 - src/lib.rs | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sqlx-core/src/transaction.rs b/sqlx-core/src/transaction.rs index 21d12f7a78..0606fbee31 100644 --- a/sqlx-core/src/transaction.rs +++ b/sqlx-core/src/transaction.rs @@ -11,7 +11,6 @@ use crate::pool::MaybePoolConnection; /// Generic management of database transactions. /// /// This trait should not be used, except when implementing [`Connection`]. -#[doc(hidden)] pub trait TransactionManager { type Database: Database; diff --git a/src/lib.rs b/src/lib.rs index ed76c5f5ee..e55dc26e36 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ pub use sqlx_core::query_scalar::{query_scalar, query_scalar_with}; pub use sqlx_core::raw_sql::{raw_sql, RawSql}; pub use sqlx_core::row::Row; pub use sqlx_core::statement::Statement; -pub use sqlx_core::transaction::{Transaction, TransactionManager}; +pub use sqlx_core::transaction::Transaction; pub use sqlx_core::type_info::TypeInfo; pub use sqlx_core::types::Type; pub use sqlx_core::value::{Value, ValueRef}; From 7280484b148e543346fd2f037bf8fdf3747416de Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 16:43:33 -0700 Subject: [PATCH 11/13] chore: 0.9.0-alplha.1 CHANGELOG --- CHANGELOG.md | 19 +++++++++++++++++++ Cargo.lock | 16 ++++++++-------- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fadc3d093..8a442cb010 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.0-alpha.1 - 2025-05-19 + +Accumulated changes since the beginning of the alpha cycle. Effectively a draft CHANGELOG for the 0.9.0 release. + +This section will be replaced in subsequent alpha releases. See the Git history of this file for previous alphas. + +### Breaking + +* [[#3821]] Groundwork for 0.9.0-alpha.1 + * Increased MSRV to 1.85 and set rust-version [@abonander] + * Deleted deprecated combination runtime+TLS features (e.g. `runtime-tokio-native-tls`) + * Deleted re-export of unstable `TransactionManager` trait in `sqlx`. + * Not technically a breaking change because it's `#[doc(hidden)]`, + but [it _will_ break SeaORM][seaorm-2600] if not proactively fixed. + +[seaorm-2600]: https://github.com/SeaQL/sea-orm/issues/2600 + +[#3821]: https://github.com/launchbadge/sqlx/pull/3830 + ## 0.8.6 - 2025-05-19 9 pull requests were merged this release cycle. diff --git a/Cargo.lock b/Cargo.lock index 64634c69da..bb4bf14198 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3394,7 +3394,7 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "anyhow", "async-std", @@ -3424,7 +3424,7 @@ dependencies = [ [[package]] name = "sqlx-cli" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "anyhow", "assert_cmd", @@ -3448,7 +3448,7 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "async-io 1.13.0", "async-std", @@ -3624,7 +3624,7 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "proc-macro2", "quote", @@ -3635,7 +3635,7 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "async-std", "dotenvy", @@ -3659,7 +3659,7 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "base64 0.22.1", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "base64 0.22.1", @@ -3751,7 +3751,7 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "chrono", From 701ea8c802f99059b66d72632e013cbacffd5312 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 17:06:55 -0700 Subject: [PATCH 12/13] chore: increase MSRV further to 1.86 --- CHANGELOG.md | 2 +- Cargo.toml | 2 +- FAQ.md | 1 + rust-toolchain.toml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a442cb010..65ac125096 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ This section will be replaced in subsequent alpha releases. See the Git history ### Breaking * [[#3821]] Groundwork for 0.9.0-alpha.1 - * Increased MSRV to 1.85 and set rust-version [@abonander] + * Increased MSRV to 1.86 and set rust-version [@abonander] * Deleted deprecated combination runtime+TLS features (e.g. `runtime-tokio-native-tls`) * Deleted re-export of unstable `TransactionManager` trait in `sqlx`. * Not technically a breaking change because it's `#[doc(hidden)]`, diff --git a/Cargo.toml b/Cargo.toml index 388dc896f5..111ee86f9c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ authors = [ "Chloe Ross ", "Daniel Akhterov ", ] -rust-version = "1.85.0" +rust-version = "1.86.0" [package] name = "sqlx" diff --git a/FAQ.md b/FAQ.md index cf13cf73ee..4b9a4ac59d 100644 --- a/FAQ.md +++ b/FAQ.md @@ -18,6 +18,7 @@ As a rule, however, we only officially support the range of versions for each da For each database and where applicable, we test against the latest and oldest versions that we intend to support. You can see the current versions being tested against by looking at our CI config: https://github.com/launchbadge/sqlx/blob/main/.github/workflows/sqlx.yml#L168 ------------------------------------------------------------------- + ### What versions of Rust does SQLx support? What is SQLx's MSRV\*? SQLx's MSRV is the second-to-latest stable release as of the beginning of the current release cycle (`0.x.0`). diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e952d6e4bb..f406d73736 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ # Note: should NOT increase during a minor/patch release cycle [toolchain] -channel = "1.85" +channel = "1.86" profile = "minimal" From 29b4fe7d48465d38a4e4d2ff2e325dc43b2e6f97 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 23:59:49 -0700 Subject: [PATCH 13/13] fix: more clippy warnings --- sqlx-core/src/pool/inner.rs | 4 ++-- sqlx-postgres/src/types/bit_vec.rs | 2 +- sqlx-sqlite/src/connection/intmap.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index 51dd4b0055..55accfd95d 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -94,7 +94,7 @@ impl PoolInner { self.on_closed.notify(usize::MAX); } - pub(super) fn close<'a>(self: &'a Arc) -> impl Future + 'a { + pub(super) fn close(self: &Arc) -> impl Future + '_ { self.mark_closed(); async move { @@ -124,7 +124,7 @@ impl PoolInner { /// /// If we steal a permit from the parent but *don't* open a connection, /// it should be returned to the parent. - async fn acquire_permit<'a>(self: &'a Arc) -> Result, Error> { + async fn acquire_permit(self: &Arc) -> Result, Error> { let parent = self .parent() // If we're already at the max size, we shouldn't try to steal from the parent. diff --git a/sqlx-postgres/src/types/bit_vec.rs b/sqlx-postgres/src/types/bit_vec.rs index b519a5f24c..92eb47b210 100644 --- a/sqlx-postgres/src/types/bit_vec.rs +++ b/sqlx-postgres/src/types/bit_vec.rs @@ -55,7 +55,7 @@ impl Decode<'_, Postgres> for BitVec { let len = usize::try_from(len).map_err(|_| format!("invalid VARBIT len: {len}"))?; // The smallest amount of data we can read is one byte - let bytes_len = (len + 7) / 8; + let bytes_len = len.div_ceil(8); if bytes.remaining() != bytes_len { Err(io::Error::new( diff --git a/sqlx-sqlite/src/connection/intmap.rs b/sqlx-sqlite/src/connection/intmap.rs index f22dea5971..fb0553fb30 100644 --- a/sqlx-sqlite/src/connection/intmap.rs +++ b/sqlx-sqlite/src/connection/intmap.rs @@ -128,7 +128,7 @@ impl IntMap { 0 }; self.iter() - .chain(std::iter::repeat(None).take(self_pad)) + .chain(std::iter::repeat_n(None, self_pad)) .zip(prev.iter().chain(std::iter::repeat(None))) .enumerate() .filter(|(_i, (n, p))| n != p)