diesel/mysql/query_builder/
mod.rs1use super::backend::Mysql;
2use crate::query_builder::QueryBuilder;
3use crate::result::QueryResult;
4
5#[doc(inline)]
6pub use self::query_fragment_impls::DuplicatedKeys;
7
8mod limit_offset;
9mod query_fragment_impls;
10
11#[allow(missing_debug_implementations)]
13#[derive(Default)]
14pub struct MysqlQueryBuilder {
15 sql: String,
16}
17
18impl MysqlQueryBuilder {
19 pub fn new() -> Self {
21 MysqlQueryBuilder::default()
22 }
23}
24
25impl QueryBuilder<Mysql> for MysqlQueryBuilder {
26 fn push_sql(&mut self, sql: &str) {
27 self.sql.push_str(sql);
28 }
29
30 fn push_identifier(&mut self, identifier: &str) -> QueryResult<()> {
31 self.push_sql("`");
32 self.push_sql(&identifier.replace('`', "``"));
33 self.push_sql("`");
34 Ok(())
35 }
36
37 fn push_bind_param(&mut self) {
38 self.push_sql("?");
39 }
40
41 fn finish(self) -> String {
42 self.sql
43 }
44}