sea-orm/src/database/statement.rs
2021-05-26 19:05:43 +08:00

35 lines
841 B
Rust

use sea_query::{inject_parameters, MySqlQueryBuilder, Values};
use std::fmt;
pub struct Statement {
pub sql: String,
pub values: Option<Values>,
}
impl From<(String, Values)> for Statement {
fn from(stmt: (String, Values)) -> Statement {
Statement {
sql: stmt.0,
values: Some(stmt.1),
}
}
}
impl fmt::Display for Statement {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match &self.values {
Some(values) => {
let string = inject_parameters(
&self.sql,
values.0.clone(),
&MySqlQueryBuilder::default(),
);
write!(f, "{}", &string)
}
None => {
write!(f, "{}", &self.sql)
}
}
}
}