From 3093cd2035beb365b178c60793593d6dbc104752 Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Wed, 15 Sep 2021 12:27:32 +0800 Subject: [PATCH] DatabaseConnection impl Sync, Send and Clone --- src/database/connection.rs | 13 +++++++++++++ src/driver/sqlx_mysql.rs | 2 +- src/driver/sqlx_postgres.rs | 2 +- src/driver/sqlx_sqlite.rs | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/database/connection.rs b/src/database/connection.rs index 6a39b240..995dde9d 100644 --- a/src/database/connection.rs +++ b/src/database/connection.rs @@ -1,6 +1,7 @@ use crate::{error::*, ExecResult, QueryResult, Statement, StatementBuilder}; use sea_query::{MysqlQueryBuilder, PostgresQueryBuilder, QueryBuilder, SqliteQueryBuilder}; +#[cfg_attr(not(feature = "mock"), derive(Clone))] pub enum DatabaseConnection { #[cfg(feature = "sqlx-mysql")] SqlxMySqlPoolConnection(crate::SqlxMySqlPoolConnection), @@ -143,3 +144,15 @@ impl DbBackend { } } } + +#[cfg(test)] +mod tests { + use crate::DatabaseConnection; + + #[test] + fn assert_database_connection_traits() { + fn assert_send_sync() {} + + assert_send_sync::(); + } +} diff --git a/src/driver/sqlx_mysql.rs b/src/driver/sqlx_mysql.rs index e91df037..be590b6e 100644 --- a/src/driver/sqlx_mysql.rs +++ b/src/driver/sqlx_mysql.rs @@ -13,7 +13,7 @@ use super::sqlx_common::*; #[derive(Debug)] pub struct SqlxMySqlConnector; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct SqlxMySqlPoolConnection { pool: MySqlPool, } diff --git a/src/driver/sqlx_postgres.rs b/src/driver/sqlx_postgres.rs index 086dc995..e7b9032a 100644 --- a/src/driver/sqlx_postgres.rs +++ b/src/driver/sqlx_postgres.rs @@ -13,7 +13,7 @@ use super::sqlx_common::*; #[derive(Debug)] pub struct SqlxPostgresConnector; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct SqlxPostgresPoolConnection { pool: PgPool, } diff --git a/src/driver/sqlx_sqlite.rs b/src/driver/sqlx_sqlite.rs index 5fa4bdcd..bd6f0399 100644 --- a/src/driver/sqlx_sqlite.rs +++ b/src/driver/sqlx_sqlite.rs @@ -13,7 +13,7 @@ use super::sqlx_common::*; #[derive(Debug)] pub struct SqlxSqliteConnector; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct SqlxSqlitePoolConnection { pool: SqlitePool, }