polyglot_sql/dialects/
dune.rs1use super::{DialectImpl, DialectType, TrinoDialect};
12use crate::error::Result;
13use crate::expressions::Expression;
14#[cfg(feature = "generate")]
15use crate::generator::GeneratorConfig;
16use crate::tokens::TokenizerConfig;
17
18pub struct DuneDialect;
20
21impl DialectImpl for DuneDialect {
22 fn dialect_type(&self) -> DialectType {
23 DialectType::Dune
24 }
25
26 fn tokenizer_config(&self) -> TokenizerConfig {
27 let trino = TrinoDialect;
29 trino.tokenizer_config()
32 }
33
34 #[cfg(feature = "generate")]
35
36 fn generator_config(&self) -> GeneratorConfig {
37 use crate::generator::IdentifierQuoteStyle;
38 GeneratorConfig {
40 identifier_quote: '"',
41 identifier_quote_style: IdentifierQuoteStyle::DOUBLE_QUOTE,
42 dialect: Some(DialectType::Dune),
43 ..Default::default()
44 }
45 }
46
47 #[cfg(feature = "transpile")]
48
49 fn transform_expr(&self, expr: Expression) -> Result<Expression> {
50 let trino = TrinoDialect;
52
53 let transformed = trino.transform_expr(expr)?;
55
56 Ok(transformed)
59 }
60}