sea-orm/src/database/statement.rs
2021-06-13 22:20:50 +08:00

33 lines
806 B
Rust

use sea_query::{inject_parameters, MySqlQueryBuilder, Values};
use std::fmt;
#[derive(Debug, Clone)]
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)
}
}
}
}