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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
mod array; pub mod date_and_time; pub mod floats; mod integers; mod primitives; #[cfg(feature = "uuid")] mod uuid; /// PostgreSQL specific SQL types /// /// Note: All types in this module can be accessed through `diesel::types` pub mod sql_types { /// The OID SQL type. This is a PostgreSQL specific type. /// /// ### [`ToSql`](/diesel/types/trait.ToSql.html) impls /// /// - [`u32`][u32] /// /// ### [`FromSql`](/diesel/types/trait.FromSql.html) impls /// /// - [`u32`][u32] /// /// [u32]: https://doc.rust-lang.org/nightly/std/primitive.u32.html #[derive(Debug, Clone, Copy, Default)] pub struct Oid; /// The "timestamp with time zone" SQL type, which PostgreSQL abbreviates /// to `timestamptz`. /// /// ### [`ToSql`](/diesel/types/trait.ToSql.html) impls /// /// - [`PgTimestamp`][PgTimestamp] /// - [`chrono::NaiveDateTime`][NaiveDateTime] with `feature = "chrono"` /// - [`chrono::DateTime`][DateTime] with `feature = "chrono"` /// /// ### [`FromSql`](/diesel/types/trait.FromSql.html) impls /// /// - [`PgTimestamp`][PgTimestamp] /// - [`chrono::NaiveDateTime`][NaiveDateTime] with `feature = "chrono"` /// - [`chrono::DateTime`][DateTime] with `feature = "chrono"` /// /// [PgTimestamp]: /diesel/pg/data_types/struct.PgTimestamp.html /// [NaiveDateTime]: https://lifthrasiir.github.io/rust-chrono/chrono/naive/datetime/struct.NaiveDateTime.html /// [DateTime]: https://lifthrasiir.github.io/rust-chrono/chrono/datetime/struct.DateTime.html #[derive(Debug, Clone, Copy, Default)] pub struct Timestamptz; /// The Array SQL type. This wraps another type to represent a SQL array of /// that type. Multidimensional arrays are not supported, nor are arrays /// containing null. /// /// ### [`ToSql`](/diesel/types/trait.ToSql.html) impls /// /// - [`Vec<T>`][Vec] for any `T` which implements `ToSql<ST>` /// - [`&[T]`][slice] for any `T` which implements `ToSql<ST>` /// /// ### [`FromSql`](/diesel/types/trait.FromSql.html) impls /// /// - [`Vec<T>`][Vec] for any `T` which implements `ToSql<ST>` /// /// [Vec]: https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html /// [slice]: https://doc.rust-lang.org/nightly/std/primitive.slice.html #[derive(Debug, Clone, Copy, Default)] pub struct Array<ST>(ST); /// Alias for SmallInt pub type SmallSerial = ::types::SmallInt; /// Alias for Integer pub type Serial = ::types::Integer; /// Alias for BigInt pub type BigSerial = ::types::BigInt; #[cfg(feature = "uuid")] /// The UUID SQL type. This type can only be used with `feature = "uuid"` /// /// ### [`ToSql`](/diesel/types/trait.ToSql.html) impls /// /// - [`uuid::Uuid`][Uuid] /// /// ### [`FromSql`](/diesel/types/trait.FromSql.html) impls /// /// - [`uuid::Uuid`][Uuid] /// /// [Vec]: https://doc.rust-lang.org/uuid/uuid/struct.Uuid.html #[derive(Debug, Clone, Copy, Default)] pub struct Uuid; /// Alias for `Binary`, to ensure `infer_schema!` works pub type Bytea = ::types::Binary; #[doc(hidden)] pub type Bpchar = ::types::VarChar; }