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")]
6#[non_exhaustive]
7pub enum SqlDialect {
8    #[serde(rename = "postgresql")]
9    Postgres,
10    Mysql,
11    DuckDb,
12    Snowflake,
13    Sqlite,
14}
15
16impl SqlDialect {
17    pub const fn as_str(self) -> &'static str {
18        match self {
19            Self::Postgres => "postgresql",
20            Self::Mysql => "mysql",
21            Self::DuckDb => "duckdb",
22            Self::Snowflake => "snowflake",
23            Self::Sqlite => "sqlite",
24        }
25    }
26}