Skip to main content

saya_types/
dialect.rs

1use serde::{Deserialize, Serialize};
2
3/// SQL dialect used for parsing, rendering, and connector behavior.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5#[serde(rename_all = "snake_case")]
6pub enum SqlDialect {
7    #[serde(rename = "postgresql")]
8    Postgres,
9    Mysql,
10    DuckDb,
11    Snowflake,
12}
13
14impl SqlDialect {
15    pub const fn as_str(self) -> &'static str {
16        match self {
17            Self::Postgres => "postgresql",
18            Self::Mysql => "mysql",
19            Self::DuckDb => "duckdb",
20            Self::Snowflake => "snowflake",
21        }
22    }
23}