diff --git a/src/connector/mod.rs b/src/connector/mod.rs index e3912775..5229fa8f 100644 --- a/src/connector/mod.rs +++ b/src/connector/mod.rs @@ -2,16 +2,10 @@ mod select; pub use select::*; -use crate::{DatabaseConnection, QueryResult, TypeErr}; +use crate::{Statement, DatabaseConnection, QueryResult, TypeErr}; use async_trait::async_trait; -use sea_query::{inject_parameters, MySqlQueryBuilder, Values}; use std::{error::Error, fmt}; -pub struct Statement { - pub sql: String, - pub values: Values, -} - #[async_trait] pub trait Connector { fn accepts(string: &str) -> bool; @@ -32,28 +26,6 @@ pub struct QueryErr; #[derive(Debug)] pub struct ConnectionErr; -// Statement // - -impl From<(String, Values)> for Statement { - fn from(stmt: (String, Values)) -> Statement { - Statement { - sql: stmt.0, - values: stmt.1, - } - } -} - -impl fmt::Display for Statement { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let string = inject_parameters( - &self.sql, - self.values.0.clone(), - &MySqlQueryBuilder::default(), - ); - write!(f, "{}", &string) - } -} - // QueryErr // impl Error for QueryErr {} diff --git a/src/database/mod.rs b/src/database/mod.rs index b30170b0..72d694b3 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -1,3 +1,7 @@ +mod statement; + +pub use statement::*; + use crate::{Connection, ConnectionErr, Connector, SqlxMySqlConnector, SqlxMySqlPoolConnection}; use sea_query::{GenericBuilder, MySqlQueryBuilder}; diff --git a/src/database/statement.rs b/src/database/statement.rs new file mode 100644 index 00000000..7954f69b --- /dev/null +++ b/src/database/statement.rs @@ -0,0 +1,27 @@ +use sea_query::{inject_parameters, MySqlQueryBuilder, Values}; +use std::{fmt}; + +pub struct Statement { + pub sql: String, + pub values: Values, +} + +impl From<(String, Values)> for Statement { + fn from(stmt: (String, Values)) -> Statement { + Statement { + sql: stmt.0, + values: stmt.1, + } + } +} + +impl fmt::Display for Statement { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let string = inject_parameters( + &self.sql, + self.values.0.clone(), + &MySqlQueryBuilder::default(), + ); + write!(f, "{}", &string) + } +} diff --git a/src/driver/sqlx_mysql.rs b/src/driver/sqlx_mysql.rs index 49bc7ae3..310048db 100644 --- a/src/driver/sqlx_mysql.rs +++ b/src/driver/sqlx_mysql.rs @@ -4,7 +4,7 @@ use sqlx::{mysql::MySqlRow, MySqlPool}; sea_query::sea_query_driver_mysql!(); use sea_query_driver_mysql::bind_query; -use crate::{connector::*, debug_print, query::*, DatabaseConnection}; +use crate::{connector::*, debug_print, query::*, Statement, DatabaseConnection}; pub struct SqlxMySqlConnector;