deuterium 0.2.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
15
16

use distinct::{Distinct};
use sql::{SqlContext, ToSql};

impl ToSql for Distinct {
    fn to_sql(&self, ctx: &mut SqlContext) -> String {
        match &self.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(", "))
            }
        }
    }
}