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