deuterium 0.3.1

Deuterium is a fancy SQL builder for Rust. It's designed to provide a DSL to easily build SQL queries in safe and *typed* way.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use super::super::distinct;

impl super::ToSql for distinct::Distinct {
    fn to_sql(&self, ctx: &mut super::SqlContext) -> String {
        match self.get_on() {
            &None => "DISTINCT".to_string(),
            &Some(ref on) if on.is_empty() => "DISTINCT".to_string(),
            &Some(ref on) => {
                let defs: Vec<String> = on.iter().map(|f| f.expression_as_sql().to_sql(ctx)).collect();
                format!("DISTINCT ON ({})", defs.connect(", "))
            }
        }
    }
}