Trait postgres::types::FromSql [] [src]

pub trait FromSql {
    fn from_sql(
        ty: &Type,
        raw: &[u8]
    ) -> Result<Self, Box<Error + 'static + Send + Sync>>;
fn accepts(ty: &Type) -> bool; fn from_sql_null(
        ty: &Type
    ) -> Result<Self, Box<Error + 'static + Send + Sync>> { ... }
fn from_sql_nullable(
        ty: &Type,
        raw: Option<&[u8]>
    ) -> Result<Self, Box<Error + 'static + Send + Sync>> { ... } }

A trait for types that can be created from a Postgres value.

Types

The following implementations are provided by this crate, along with the corresponding Postgres types:

Rust type Postgres type(s)
bool BOOL
i8 "char"
i16 SMALLINT, SMALLSERIAL
i32 INT, SERIAL
u32 OID
i64 BIGINT, BIGSERIAL
f32 REAL
f64 DOUBLE PRECISION
String VARCHAR, CHAR(n), TEXT, CITEXT, NAME, UNKNOWN
Vec<u8> BYTEA
HashMap<String, Option<String>> HSTORE

In addition, some implementations are provided for types in third party crates. These are disabled by default; to opt into one of these implementations, activate the Cargo feature corresponding to the crate's name prefixed by with-. For example, the with-serde_json feature enables the implementation for the serde_json::Value type.

Rust type Postgres type(s)
serialize::json::Json JSON, JSONB
serde_json::Value JSON, JSONB
time::Timespec TIMESTAMP, TIMESTAMP WITH TIME ZONE
chrono::NaiveDateTime TIMESTAMP
chrono::DateTime<Utc> TIMESTAMP WITH TIME ZONE
chrono::DateTime<Local> TIMESTAMP WITH TIME ZONE
chrono::DateTime<FixedOffset> TIMESTAMP WITH TIME ZONE
chrono::NaiveDate DATE
chrono::NaiveTime TIME
eui48::MacAddress MACADDR
uuid::Uuid UUID
bit_vec::BitVec BIT, VARBIT
eui48::MacAddress MACADDR

Nullability

In addition to the types listed above, FromSql is implemented for Option<T> where T implements FromSql. An Option<T> represents a nullable Postgres value.

Arrays

FromSql is implemented for Vec<T> where T implements FromSql, and corresponds to one-dimensional Postgres arrays.

Required Methods

Creates a new value of this type from a buffer of data of the specified Postgres Type in its binary format.

The caller of this method is responsible for ensuring that this type is compatible with the Postgres Type.

Determines if a value of this type can be created from the specified Postgres Type.

Provided Methods

Creates a new value of this type from a NULL SQL value.

The caller of this method is responsible for ensuring that this type is compatible with the Postgres Type.

The default implementation returns Err(Box::new(WasNull)).

A convenience function that delegates to from_sql and from_sql_null depending on the value of raw.

Implementations on Foreign Types

impl FromSql for Vec<u8>
[src]

[src]

[src]

[src]

[src]

impl<T> FromSql for Vec<T> where
    T: FromSql
[src]

[src]

[src]

[src]

[src]

impl FromSql for NaiveTime
[src]

[src]

[src]

[src]

[src]

impl FromSql for u32
[src]

[src]

[src]

[src]

[src]

impl FromSql for Json
[src]

[src]

[src]

[src]

[src]

impl FromSql for i8
[src]

[src]

[src]

[src]

[src]

impl<T> FromSql for Option<T> where
    T: FromSql
[src]

[src]

[src]

[src]

[src]

impl FromSql for Bbox<f64>
[src]

[src]

[src]

[src]

[src]

impl FromSql for MacAddress
[src]

[src]

[src]

[src]

[src]

impl FromSql for Value
[src]

[src]

[src]

[src]

[src]

impl FromSql for Timespec
[src]

[src]

[src]

[src]

[src]

impl FromSql for i16
[src]

[src]

[src]

[src]

[src]

impl FromSql for NaiveDate
[src]

[src]

[src]

[src]

[src]

impl FromSql for BitVec<u32>
[src]

[src]

[src]

[src]

[src]

impl FromSql for Point<f64>
[src]

[src]

[src]

[src]

[src]

impl FromSql for LineString<f64>
[src]

[src]

[src]

[src]

[src]

impl FromSql for DateTime<Local>
[src]

[src]

[src]

[src]

[src]

impl FromSql for i64
[src]

[src]

[src]

[src]

[src]

impl FromSql for HashMap<String, Option<String>, RandomState>
[src]

[src]

[src]

[src]

[src]

impl FromSql for DateTime<FixedOffset>
[src]

[src]

[src]

[src]

[src]

impl FromSql for NaiveDateTime
[src]

[src]

[src]

[src]

[src]

impl FromSql for DateTime<Utc>
[src]

[src]

[src]

[src]

[src]

impl FromSql for String
[src]

[src]

[src]

[src]

[src]

impl FromSql for f32
[src]

[src]

[src]

[src]

[src]

impl FromSql for f64
[src]

[src]

[src]

[src]

[src]

impl FromSql for bool
[src]

[src]

[src]

[src]

[src]

impl FromSql for Uuid
[src]

[src]

[src]

[src]

[src]

impl FromSql for i32
[src]

[src]

[src]

[src]

[src]

Implementors