Trait postgres::types::ToSql [] [src]

pub trait ToSql: Debug {
    fn to_sql(
        &self,
        ty: &Type,
        out: &mut Vec<u8>
    ) -> Result<IsNull, Box<Error + 'static + Send + Sync>>;
fn accepts(ty: &Type) -> bool;
fn to_sql_checked(
        &self,
        ty: &Type,
        out: &mut Vec<u8>
    ) -> Result<IsNull, Box<Error + 'static + Send + Sync>>; }

A trait for types that can be converted into Postgres values.

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
&str VARCHAR, CHAR(n), TEXT, CITEXT, NAME
Vec<u8> BYTEA
&[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
uuid::Uuid UUID
bit_vec::BitVec BIT, VARBIT
eui48::MacAddress MACADDR

Nullability

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

Arrays

ToSql is implemented for Vec<T> and &[T] where T implements ToSql, and corresponds to one-dimentional Postgres arrays with an index offset of 1.

Required Methods

Converts the value of self into the binary format of the specified Postgres Type, appending it to out.

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

The return value indicates if this value should be represented as NULL. If this is the case, implementations must not write anything to out.

Determines if a value of this type can be converted to the specified Postgres Type.

An adaptor method used internally by Rust-Postgres.

All implementations of this method should be generated by the to_sql_checked!() macro.

Implementations on Foreign Types

impl ToSql for u32
[src]

[src]

[src]

[src]

impl<'a> ToSql for &'a [u8]
[src]

[src]

[src]

[src]

impl<'a> ToSql for Cow<'a, str>
[src]

[src]

[src]

[src]

impl ToSql for Uuid
[src]

[src]

[src]

[src]

impl ToSql for NaiveDateTime
[src]

[src]

[src]

[src]

impl ToSql for MacAddress
[src]

[src]

[src]

[src]

impl ToSql for i64
[src]

[src]

[src]

[src]

impl ToSql for Value
[src]

[src]

[src]

[src]

impl ToSql for DateTime<Utc>
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

impl ToSql for String
[src]

[src]

[src]

[src]

impl ToSql for BitVec<u32>
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

impl ToSql for Json
[src]

[src]

[src]

[src]

impl ToSql for bool
[src]

[src]

[src]

[src]

impl ToSql for DateTime<FixedOffset>
[src]

[src]

[src]

[src]

impl ToSql for f64
[src]

[src]

[src]

[src]

impl<'a> ToSql for &'a str
[src]

[src]

[src]

[src]

impl ToSql for i16
[src]

[src]

[src]

[src]

impl ToSql for NaiveDate
[src]

[src]

[src]

[src]

impl ToSql for NaiveTime
[src]

[src]

[src]

[src]

impl ToSql for Timespec
[src]

[src]

[src]

[src]

impl ToSql for Point<f64>
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

impl ToSql for DateTime<Local>
[src]

[src]

[src]

[src]

impl ToSql for LineString<f64>
[src]

[src]

[src]

[src]

impl ToSql for Bbox<f64>
[src]

[src]

[src]

[src]

impl<'a, T> ToSql for &'a T where
    T: ToSql
[src]

[src]

[src]

[src]

impl ToSql for f32
[src]

[src]

[src]

[src]

impl ToSql for i32
[src]

[src]

[src]

[src]

impl ToSql for Vec<u8>
[src]

[src]

[src]

[src]

impl<'a, T> ToSql for &'a [T] where
    T: ToSql
[src]

[src]

[src]

[src]

impl ToSql for i8
[src]

[src]

[src]

[src]

Implementors