Skip to content

Commit 26e3232

Browse files
committed
Use QueryBuilder when removing all test db's
1 parent 09018d0 commit 26e3232

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

sqlx-mysql/src/testing/mod.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::future::Future;
22
use std::ops::Deref;
33
use std::str::FromStr;
4-
use std::sync::{Arc, OnceLock};
4+
use std::sync::OnceLock;
55
use std::time::Duration;
66

77
use crate::error::Error;
@@ -13,7 +13,6 @@ use sqlx_core::connection::Connection;
1313
use sqlx_core::query_builder::QueryBuilder;
1414
use sqlx_core::query_scalar::query_scalar;
1515
use sqlx_core::sql_str::AssertSqlSafe;
16-
use std::fmt::Write;
1716

1817
pub(crate) use sqlx_core::testing::*;
1918

@@ -52,16 +51,14 @@ impl TestSupport for MySql {
5251

5352
let mut deleted_db_names = Vec::with_capacity(delete_db_names.len());
5453

55-
let mut command_arced = Arc::new(String::new());
54+
let mut builder = QueryBuilder::new("drop database if exists ");
5655

5756
for db_name in &delete_db_names {
58-
let command = Arc::get_mut(&mut command_arced).unwrap();
59-
command.clear();
60-
6157
let db_name = format!("_sqlx_test_database_{db_name}");
6258

63-
writeln!(command, "drop database if exists {db_name};").ok();
64-
match conn.execute(AssertSqlSafe(command_arced.clone())).await {
59+
builder.push(&db_name);
60+
61+
match builder.build().execute(&mut conn).await {
6562
Ok(_deleted) => {
6663
deleted_db_names.push(db_name);
6764
}
@@ -72,6 +69,8 @@ impl TestSupport for MySql {
7269
// Bubble up other errors
7370
Err(e) => return Err(e),
7471
}
72+
73+
builder.reset();
7574
}
7675

7776
if deleted_db_names.is_empty() {

sqlx-postgres/src/testing/mod.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
use std::fmt::Write;
21
use std::future::Future;
32
use std::ops::Deref;
43
use std::str::FromStr;
5-
use std::sync::Arc;
64
use std::sync::OnceLock;
75
use std::time::Duration;
86

97
use sqlx_core::connection::Connection;
8+
use sqlx_core::query_builder::QueryBuilder;
109
use sqlx_core::query_scalar::query_scalar;
1110
use sqlx_core::sql_str::AssertSqlSafe;
1211

@@ -54,15 +53,12 @@ impl TestSupport for Postgres {
5453

5554
let mut deleted_db_names = Vec::with_capacity(delete_db_names.len());
5655

57-
let mut command_arced = Arc::new(String::new());
56+
let mut builder = QueryBuilder::new("drop database if exists ");
5857

5958
for db_name in &delete_db_names {
60-
let command = Arc::get_mut(&mut command_arced).unwrap();
61-
command.clear();
59+
builder.push(&db_name);
6260

63-
writeln!(command, "drop database if exists {db_name:?};").ok();
64-
65-
match conn.execute(AssertSqlSafe(command_arced.clone())).await {
61+
match builder.build().execute(&mut conn).await {
6662
Ok(_deleted) => {
6763
deleted_db_names.push(db_name);
6864
}
@@ -73,6 +69,8 @@ impl TestSupport for Postgres {
7369
// Bubble up other errors
7470
Err(e) => return Err(e),
7571
}
72+
73+
builder.reset();
7674
}
7775

7876
query("delete from _sqlx_test.databases where db_name = any($1::text[])")

0 commit comments

Comments
 (0)