diesel/type_impls/
date_and_time.rs

1#![allow(dead_code)]
2
3use std::time::SystemTime;
4
5#[derive(FromSqlRow, AsExpression)]
6#[diesel(foreign_derive)]
7#[sql_type = "::sql_types::Timestamp"]
8struct SystemTimeProxy(SystemTime);
9
10#[cfg(feature = "chrono")]
11mod chrono {
12    extern crate chrono;
13    use self::chrono::*;
14    use sql_types::{Date, Time, Timestamp};
15
16    #[derive(FromSqlRow, AsExpression)]
17    #[diesel(foreign_derive)]
18    #[sql_type = "Date"]
19    struct NaiveDateProxy(NaiveDate);
20
21    #[derive(FromSqlRow, AsExpression)]
22    #[diesel(foreign_derive)]
23    #[sql_type = "Time"]
24    struct NaiveTimeProxy(NaiveTime);
25
26    #[derive(FromSqlRow, AsExpression)]
27    #[diesel(foreign_derive)]
28    #[sql_type = "Timestamp"]
29    #[cfg_attr(feature = "postgres", sql_type = "::sql_types::Timestamptz")]
30    #[cfg_attr(feature = "mysql", sql_type = "::sql_types::Datetime")]
31    struct NaiveDateTimeProxy(NaiveDateTime);
32
33    #[derive(FromSqlRow, AsExpression)]
34    #[diesel(foreign_derive)]
35    #[cfg_attr(feature = "postgres", sql_type = "::sql_types::Timestamptz")]
36    struct DateTimeProxy<Tz: TimeZone>(DateTime<Tz>);
37}