use crate::Dialect;
impl Dialect {
pub const fn alias_in_group_by(&self) -> bool {
match self {
Dialect::Bigquery => true,
Dialect::Clickhouse => true,
Dialect::Databricks => true,
Dialect::Duckdb => true,
Dialect::Hive => true,
Dialect::Mssql => false,
Dialect::Mysql => true,
Dialect::Oracle => false,
Dialect::Postgres => false,
Dialect::Redshift => true,
Dialect::Snowflake => false,
Dialect::Sqlite => true,
_ => false, }
}
pub const fn alias_in_having(&self) -> bool {
match self {
Dialect::Bigquery => true,
Dialect::Clickhouse => true,
Dialect::Databricks => true,
Dialect::Duckdb => true,
Dialect::Hive => true,
Dialect::Mssql => false,
Dialect::Mysql => true,
Dialect::Oracle => false,
Dialect::Postgres => false,
Dialect::Redshift => true,
Dialect::Snowflake => false,
Dialect::Sqlite => true,
_ => false,
}
}
pub const fn alias_in_order_by(&self) -> bool {
match self {
Dialect::Bigquery => true,
Dialect::Clickhouse => true,
Dialect::Databricks => true,
Dialect::Duckdb => true,
Dialect::Hive => true,
Dialect::Mssql => true,
Dialect::Mysql => true,
Dialect::Oracle => true,
Dialect::Postgres => true,
Dialect::Redshift => true,
Dialect::Snowflake => true,
Dialect::Sqlite => true,
_ => true, }
}
pub const fn lateral_column_alias(&self) -> bool {
match self {
Dialect::Bigquery => true,
Dialect::Clickhouse => true,
Dialect::Databricks => true,
Dialect::Duckdb => true,
Dialect::Hive => true,
Dialect::Mssql => false,
Dialect::Mysql => false,
Dialect::Oracle => false,
Dialect::Postgres => false,
Dialect::Redshift => false,
Dialect::Snowflake => true,
Dialect::Sqlite => false,
_ => false,
}
}
}