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(), ] ); } }