Skip to main content

FromSql

Trait FromSql 

Source
pub trait FromSql: Sized {
    // Required method
    fn from_sql(oid: Oid, buf: &[u8]) -> Result<Self, Error>;

    // Provided methods
    fn from_sql_zoned(
        oid: Oid,
        buf: &[u8],
        zone: TimeZone,
    ) -> Result<Self, Error> { ... }
    fn from_sql_null() -> Result<Self, Error> { ... }
    fn accepts(oid: Oid) -> bool { ... }
}
Expand description

A value that can be decoded from the PostgreSQL binary format.

Required Methods§

Source

fn from_sql(oid: Oid, buf: &[u8]) -> Result<Self, Error>

Decodes a non-null value of type oid.

Returns an error if buf is too short or malformed for the type.

Provided Methods§

Source

fn from_sql_zoned(oid: Oid, buf: &[u8], zone: TimeZone) -> Result<Self, Error>

Decodes a non-null value, using zone to interpret zone-less temporal values (timestamp, date, time).

The default implementation ignores zone.

Source

fn from_sql_null() -> Result<Self, Error>

Decodes SQL NULL.

The default implementation errors; Option<T> overrides it to return None.

Source

fn accepts(oid: Oid) -> bool

Whether this type can be decoded from a column of type oid.

Used to report a type mismatch (“column x is int4, cannot decode as bool”) instead of silently reinterpreting the bytes of another type. The default accepts every type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl FromSql for DateTime

Source§

fn from_sql(oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

fn from_sql_zoned(oid: Oid, buf: &[u8], zone: TimeZone) -> Result<Self, Error>

Source§

impl FromSql for IpNetwork

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for String

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for Uuid

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for Value

Source§

fn from_sql(oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for Vec<u8>

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for bool

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for f32

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for f64

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for i16

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for i32

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl FromSql for i64

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl<T: FromSql> FromSql for Option<T>

Source§

fn from_sql(oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn from_sql_zoned(oid: Oid, buf: &[u8], zone: TimeZone) -> Result<Self, Error>

Source§

fn from_sql_null() -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Source§

impl<T: FromSql> FromSql for Vec<T>

Source§

fn from_sql(_oid: Oid, buf: &[u8]) -> Result<Self, Error>

Source§

fn from_sql_zoned(_oid: Oid, buf: &[u8], zone: TimeZone) -> Result<Self, Error>

Source§

fn accepts(oid: Oid) -> bool

Implementors§