qail_core/transpiler/
dialect.rs

1use crate::transpiler::sql::postgres::PostgresGenerator;
2use crate::transpiler::sql::sqlite::SqliteGenerator;
3use crate::transpiler::traits::SqlGenerator;
4
5#[derive(Debug, Clone, Copy, PartialEq)]
6pub enum Dialect {
7    Postgres,
8    SQLite,
9}
10
11impl Default for Dialect {
12    fn default() -> Self {
13        Self::Postgres
14    }
15}
16
17impl Dialect {
18    pub fn generator(&self) -> Box<dyn SqlGenerator> {
19        match self {
20            Dialect::Postgres => Box::new(PostgresGenerator),
21            Dialect::SQLite => Box::new(SqliteGenerator),
22        }
23    }
24}