sea_query/backend/sqlite/
mod.rs1pub(crate) mod foreign_key;
2pub(crate) mod index;
3pub(crate) mod query;
4pub(crate) mod table;
5
6use super::*;
7
8#[derive(Default, Debug)]
10pub struct SqliteQueryBuilder;
11
12const QUOTE: Quote = Quote(b'"', b'"');
13
14impl GenericBuilder for SqliteQueryBuilder {}
15
16impl SchemaBuilder for SqliteQueryBuilder {}
17
18impl QuotedBuilder for SqliteQueryBuilder {
19 fn quote(&self) -> Quote {
20 QUOTE
21 }
22}
23
24impl EscapeBuilder for SqliteQueryBuilder {
25 fn write_escaped(&self, buffer: &mut dyn Write, string: &str) {
26 for char in string.chars() {
27 match char {
28 '\'' => buffer.write_str("''"),
29 c => buffer.write_char(c),
30 }
31 .unwrap()
32 }
33 }
34
35 fn unescape_string(&self, string: &str) -> String {
36 string.replace("''", "'")
37 }
38}
39
40impl TableRefBuilder for SqliteQueryBuilder {}
41
42impl PrecedenceDecider for SqliteQueryBuilder {
43 fn inner_expr_well_known_greater_precedence(&self, inner: &Expr, outer_oper: &Oper) -> bool {
44 common_inner_expr_well_known_greater_precedence(inner, outer_oper)
45 }
46}
47
48impl OperLeftAssocDecider for SqliteQueryBuilder {
49 fn well_known_left_associative(&self, op: &BinOper) -> bool {
50 common_well_known_left_associative(op)
51 }
52}