oxide_sql_core/dialect/
generic.rs

1//! Generic SQL dialect.
2
3use super::Dialect;
4
5/// A generic SQL dialect using ANSI SQL standards.
6#[derive(Debug, Default, Clone, Copy)]
7pub struct GenericDialect;
8
9impl GenericDialect {
10    /// Creates a new generic dialect.
11    #[must_use]
12    pub const fn new() -> Self {
13        Self
14    }
15}
16
17impl Dialect for GenericDialect {
18    fn name(&self) -> &'static str {
19        "generic"
20    }
21}
22
23#[cfg(test)]
24mod tests {
25    use super::*;
26
27    #[test]
28    fn test_generic_dialect() {
29        let dialect = GenericDialect::new();
30        assert_eq!(dialect.name(), "generic");
31        assert_eq!(dialect.identifier_quote(), '"');
32        assert_eq!(dialect.parameter_placeholder(), "?");
33        assert!(!dialect.supports_returning());
34        assert!(!dialect.supports_upsert());
35    }
36}