stringqb/src/drivers/mysql.rs

54 lines
1.2 KiB
Rust

use super::*;
#[derive(Debug)]
pub struct MySQL;
impl DatabaseDriver for MySQL {
/// Get which characters are used to delimit identifiers
/// such as tables, and columns
fn _quotes(&self) -> (char, char) {
('`', '`')
}
fn query(&self, _query: &str) -> Result<(), ()> {
Ok(())
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_quote_identifier_backtick_quote() {
let driver = MySQL {};
assert_eq!(
driver.quote_identifier("foo, bar, baz"),
"`foo`,`bar`,`baz`"
);
assert_eq!(
driver.quote_identifier("foo.bar, baz, fizz"),
"`foo`.`bar`,`baz`,`fizz`"
);
}
#[test]
fn test_quote_identifiers_backtick_quote() {
let driver = MySQL {};
assert_eq!(
driver.quote_identifiers(vec![
"\tfoo. bar".to_string(),
"baz".to_string(),
"fizz.\n\tbuzz.baz".to_string(),
]),
vec![
"`foo`.`bar`".to_string(),
"`baz`".to_string(),
"`fizz`.`buzz`.`baz`".to_string(),
]
);
}
}