pub trait ToSql<A, DB: Backend>: Debug {
// Required method
fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, DB>) -> Result;
}Expand description
Serializes a single value to be sent to the database.
The output is sent as a bind parameter, and the data must be written in the expected format for the given backend.
When possible, implementations of this trait should prefer using an existing
implementation, rather than writing to out directly. (For example, if you
are implementing this for an enum, which is represented as an integer in the
database, you should use i32::to_sql(x, out) instead of writing to out
yourself.)
Any types which implement this trait should also
#[derive(AsExpression)].
§Backend specific details
- For PostgreSQL, the bytes will be sent using the binary protocol, not text.
- For SQLite, all implementations should be written in terms of an existing
ToSqlimplementation. - For MySQL, the expected bytes will depend on the return value of
type_metadatafor the given SQL type. SeeMysqlTypefor details. - For third party backends, consult that backend’s documentation.
§Examples
Most implementations of this trait will be defined in terms of an existing implementation.
#[repr(i32)]
#[derive(Debug, Clone, Copy, AsExpression)]
#[diesel(sql_type = Integer)]
pub enum MyEnum {
A = 1,
B = 2,
}
impl<DB> ToSql<Integer, DB> for MyEnum
where
DB: Backend,
i32: ToSql<Integer, DB>,
{
fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, DB>) -> serialize::Result {
match self {
MyEnum::A => 1.to_sql(out),
MyEnum::B => 2.to_sql(out),
}
}
}Example of creating a custom type mapping based on a MySQL enum type
This is designed to reuse the SQL type definition generated by diesel-cli
pub mod sql_types {
#[derive(diesel::sql_types::SqlType)]
#[diesel(mysql_type(name = "Enum"))]
pub struct PostEnum; //<- generated by diesel cli
}
#[derive(Debug, AsExpression, PartialEq, Clone)]
#[diesel(sql_type = sql_types::PostEnum)]
pub enum Post {
FirstValue,
SecondValue,
}
impl ToSql<sql_types::PostEnum, diesel::mysql::Mysql> for Post {
fn to_sql<'b>(
&'b self,
out: &mut Output<'b, '_, diesel::mysql::Mysql>,
) -> serialize::Result {
match *self {
// these string values need to match the labels used in your
// enum definition in SQL. So this expects that you defined the
/// relevant enum type as`ENUM('one', 'two')` in your `CREATE TABLE` statement
Post::FirstValue => out.write_all(b"one")?,
Post::SecondValue => out.write_all(b"two")?,
}
Ok(IsNull::No)
}
}Using temporary values as part of the ToSql implementation requires additional
work.
Backends using RawBytesBindCollector as BindCollector copy the serialized values as part
of Write implementation. This includes the Mysql and the Pg backend provided by diesel.
This means existing ToSql implementations can be used even with
temporary values. For these it is required to call
Output::reborrow to shorten the lifetime of the Output type correspondingly.
#[repr(i32)]
#[derive(Debug, Clone, Copy, AsExpression)]
#[diesel(sql_type = Integer)]
pub enum MyEnum {
A = 1,
B = 2,
}
impl ToSql<Integer, diesel::pg::Pg> for MyEnum
where
i32: ToSql<Integer, diesel::pg::Pg>,
{
fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, diesel::pg::Pg>) -> serialize::Result {
let v = *self as i32;
<i32 as ToSql<Integer, diesel::pg::Pg>>::to_sql(&v, &mut out.reborrow())
}
}For any other backend the Output::set_value method provides a way to
set the output value directly. Checkout the documentation of the corresponding
BindCollector::Buffer type for provided From<T> implementations for a list
of accepted types. For the Sqlite backend see SqliteBindValue.
#[repr(i32)]
#[derive(Debug, Clone, Copy, AsExpression)]
#[diesel(sql_type = Integer)]
pub enum MyEnum {
A = 1,
B = 2,
}
impl ToSql<Integer, diesel::sqlite::Sqlite> for MyEnum
where
i32: ToSql<Integer, diesel::sqlite::Sqlite>,
{
fn to_sql<'b>(
&'b self,
out: &mut Output<'b, '_, diesel::sqlite::Sqlite>,
) -> serialize::Result {
out.set_value(*self as i32);
Ok(IsNull::No)
}
}Required Methods§
Implementations on Foreign Types§
Source§impl ToSql<Cidr, Pg> for IpNet
Available on crate features ipnet-address and postgres_backend only.
impl ToSql<Cidr, Pg> for IpNet
ipnet-address and postgres_backend only.Source§impl ToSql<Cidr, Pg> for IpNetwork
Available on crate features network-address and postgres_backend only.
impl ToSql<Cidr, Pg> for IpNetwork
network-address and postgres_backend only.Source§impl ToSql<Date, Mysql> for NaiveDate
Available on crate features chrono and mysql_backend only.
impl ToSql<Date, Mysql> for NaiveDate
chrono and mysql_backend only.Source§impl ToSql<Date, Pg> for NaiveDate
Available on crate features chrono and postgres_backend only.
impl ToSql<Date, Pg> for NaiveDate
chrono and postgres_backend only.Source§impl ToSql<Datetime, Mysql> for NaiveDateTime
Available on crate features chrono and mysql_backend only.
impl ToSql<Datetime, Mysql> for NaiveDateTime
chrono and mysql_backend only.Source§impl ToSql<Datetime, Mysql> for OffsetDateTime
Available on crate features time and mysql_backend only.
impl ToSql<Datetime, Mysql> for OffsetDateTime
time and mysql_backend only.Source§impl ToSql<Datetime, Mysql> for PrimitiveDateTime
Available on crate features time and mysql_backend only.
impl ToSql<Datetime, Mysql> for PrimitiveDateTime
time and mysql_backend only.Source§impl ToSql<Inet, Pg> for IpNet
Available on crate features ipnet-address and postgres_backend only.
impl ToSql<Inet, Pg> for IpNet
ipnet-address and postgres_backend only.Source§impl ToSql<Inet, Pg> for IpNetwork
Available on crate features network-address and postgres_backend only.
impl ToSql<Inet, Pg> for IpNetwork
network-address and postgres_backend only.Source§impl ToSql<Interval, Pg> for Duration
Available on crate features chrono and postgres_backend only.
impl ToSql<Interval, Pg> for Duration
chrono and postgres_backend only.Source§impl ToSql<Json, Mysql> for Value
Available on crate features serde_json and mysql_backend only.
impl ToSql<Json, Mysql> for Value
serde_json and mysql_backend only.Source§impl ToSql<Json, Pg> for Value
Available on crate features serde_json and postgres_backend only.
impl ToSql<Json, Pg> for Value
serde_json and postgres_backend only.Source§impl ToSql<Jsonb, Pg> for Value
Available on crate features serde_json and postgres_backend only.
impl ToSql<Jsonb, Pg> for Value
serde_json and postgres_backend only.Source§impl ToSql<Numeric, Mysql> for BigDecimal
Available on crate features numeric and mysql_backend only.
impl ToSql<Numeric, Mysql> for BigDecimal
numeric and mysql_backend only.Source§impl ToSql<Numeric, Pg> for BigDecimal
Available on crate features numeric and postgres_backend only.
impl ToSql<Numeric, Pg> for BigDecimal
numeric and postgres_backend only.Source§impl ToSql<Numeric, Sqlite> for BigDecimal
Available on crate features numeric and sqlite only.
impl ToSql<Numeric, Sqlite> for BigDecimal
numeric and sqlite only.Source§impl ToSql<Time, Mysql> for NaiveTime
Available on crate features chrono and mysql_backend only.
impl ToSql<Time, Mysql> for NaiveTime
chrono and mysql_backend only.Source§impl ToSql<Time, Pg> for NaiveTime
Available on crate features chrono and postgres_backend only.
impl ToSql<Time, Pg> for NaiveTime
chrono and postgres_backend only.Source§impl ToSql<Timestamp, Mysql> for NaiveDateTime
Available on crate features chrono and mysql_backend only.
impl ToSql<Timestamp, Mysql> for NaiveDateTime
chrono and mysql_backend only.Source§impl ToSql<Timestamp, Mysql> for OffsetDateTime
Available on crate features time and mysql_backend only.
impl ToSql<Timestamp, Mysql> for OffsetDateTime
time and mysql_backend only.Source§impl ToSql<Timestamp, Mysql> for PrimitiveDateTime
Available on crate features time and mysql_backend only.
impl ToSql<Timestamp, Mysql> for PrimitiveDateTime
time and mysql_backend only.Source§impl ToSql<Timestamp, Pg> for NaiveDateTime
Available on crate features chrono and postgres_backend only.
impl ToSql<Timestamp, Pg> for NaiveDateTime
chrono and postgres_backend only.Source§impl ToSql<Timestamp, Pg> for PrimitiveDateTime
Available on crate features time and postgres_backend only.
impl ToSql<Timestamp, Pg> for PrimitiveDateTime
time and postgres_backend only.Source§impl ToSql<Timestamp, Sqlite> for NaiveDateTime
Available on crate features chrono and sqlite only.
impl ToSql<Timestamp, Sqlite> for NaiveDateTime
chrono and sqlite only.Source§impl ToSql<Timestamp, Sqlite> for PrimitiveDateTime
Available on crate features time and sqlite only.
impl ToSql<Timestamp, Sqlite> for PrimitiveDateTime
time and sqlite only.Source§impl ToSql<Timestamptz, Pg> for NaiveDateTime
Available on crate features chrono and postgres_backend only.
impl ToSql<Timestamptz, Pg> for NaiveDateTime
chrono and postgres_backend only.Source§impl ToSql<Timestamptz, Pg> for OffsetDateTime
Available on crate features time and postgres_backend only.
impl ToSql<Timestamptz, Pg> for OffsetDateTime
time and postgres_backend only.Source§impl ToSql<Timestamptz, Pg> for PrimitiveDateTime
Available on crate features time and postgres_backend only.
impl ToSql<Timestamptz, Pg> for PrimitiveDateTime
time and postgres_backend only.Source§impl ToSql<Timestamptz, Sqlite> for NaiveDateTime
Available on crate features chrono and sqlite only.
impl ToSql<Timestamptz, Sqlite> for NaiveDateTime
chrono and sqlite only.Source§impl ToSql<Timestamptz, Sqlite> for OffsetDateTime
Available on crate features time and sqlite only.
impl ToSql<Timestamptz, Sqlite> for OffsetDateTime
time and sqlite only.Source§impl ToSql<Timestamptz, Sqlite> for PrimitiveDateTime
Available on crate features time and sqlite only.
impl ToSql<Timestamptz, Sqlite> for PrimitiveDateTime
time and sqlite only.Source§impl<DB> ToSql<Binary, DB> for [u8]where
for<'a> DB: Backend<BindCollector<'a> = RawBytesBindCollector<DB>>,
impl<DB> ToSql<Binary, DB> for [u8]where
for<'a> DB: Backend<BindCollector<'a> = RawBytesBindCollector<DB>>,
Source§impl<DB> ToSql<Text, DB> for strwhere
for<'a> DB: Backend<BindCollector<'a> = RawBytesBindCollector<DB>>,
impl<DB> ToSql<Text, DB> for strwhere
for<'a> DB: Backend<BindCollector<'a> = RawBytesBindCollector<DB>>,
Source§impl<ST, T> ToSql<Multirange<ST>, Pg> for [Range<T>]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Multirange<ST>, Pg> for [Range<T>]
postgres_backend only.Source§impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeFrom<T>]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeFrom<T>]
postgres_backend only.Source§impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeInclusive<T>]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeInclusive<T>]
postgres_backend only.Source§impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeTo<T>]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeTo<T>]
postgres_backend only.Source§impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeToInclusive<T>]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Multirange<ST>, Pg> for [RangeToInclusive<T>]
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Array<ST>>, Pg> for [T]
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Array<ST>>, Pg> for [T]
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Array<ST>>, Pg> for Vec<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Array<ST>>, Pg> for Vec<T>
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for (Bound<T>, Bound<T>)
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for (Bound<T>, Bound<T>)
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for Range<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for Range<T>
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeFrom<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeFrom<T>
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeInclusive<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeInclusive<T>
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeTo<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeTo<T>
postgres_backend only.Source§impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeToInclusive<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Nullable<Range<ST>>, Pg> for RangeToInclusive<T>
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for (Bound<T>, Bound<T>)
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for (Bound<T>, Bound<T>)
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for Range<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for Range<T>
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for RangeFrom<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for RangeFrom<T>
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for RangeInclusive<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for RangeInclusive<T>
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for RangeTo<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for RangeTo<T>
postgres_backend only.Source§impl<ST, T> ToSql<Range<ST>, Pg> for RangeToInclusive<T>
Available on crate feature postgres_backend only.
impl<ST, T> ToSql<Range<ST>, Pg> for RangeToInclusive<T>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<(Bound<T>, Bound<T>)>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<(Bound<T>, Bound<T>)>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<Range<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<Range<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeFrom<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeFrom<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeInclusive<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeInclusive<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeTo<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeTo<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeToInclusive<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for Vec<RangeToInclusive<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Multirange<ST>, Pg> for [(Bound<T>, Bound<T>)]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Multirange<ST>, Pg> for [(Bound<T>, Bound<T>)]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<(Bound<T>, Bound<T>)>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<(Bound<T>, Bound<T>)>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<Range<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<Range<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeFrom<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeFrom<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeInclusive<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeInclusive<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeTo<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeTo<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeToInclusive<T>>
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for Vec<RangeToInclusive<T>>
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [(Bound<T>, Bound<T>)]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [(Bound<T>, Bound<T>)]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [Range<T>]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [Range<T>]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeFrom<T>]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeFrom<T>]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeInclusive<T>]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeInclusive<T>]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeTo<T>]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeTo<T>]
postgres_backend only.Source§impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeToInclusive<T>]
Available on crate feature postgres_backend only.
impl<T, ST> ToSql<Nullable<Multirange<ST>>, Pg> for [RangeToInclusive<T>]
postgres_backend only.Source§impl<TZ: TimeZone> ToSql<Timestamptz, Pg> for DateTime<TZ>
Available on crate features chrono and postgres_backend only.
impl<TZ: TimeZone> ToSql<Timestamptz, Pg> for DateTime<TZ>
chrono and postgres_backend only.Source§impl<TZ: TimeZone> ToSql<Timestamptz, Sqlite> for DateTime<TZ>
Available on crate features chrono and sqlite only.
impl<TZ: TimeZone> ToSql<Timestamptz, Sqlite> for DateTime<TZ>
chrono and sqlite only.Source§impl<Tz: TimeZone, __DB> ToSql<Nullable<Timestamptz>, __DB> for DateTime<Tz>
Available on crate feature chrono only.
impl<Tz: TimeZone, __DB> ToSql<Nullable<Timestamptz>, __DB> for DateTime<Tz>
chrono only.Source§impl<Tz: TimeZone, __DB> ToSql<Nullable<Timestamptz>, __DB> for DateTime<Tz>
Available on crate feature chrono only.
impl<Tz: TimeZone, __DB> ToSql<Nullable<Timestamptz>, __DB> for DateTime<Tz>
chrono only.Source§impl<__DB> ToSql<Nullable<Cidr>, __DB> for IpNet
Available on crate features ipnet-address and postgres_backend only.
impl<__DB> ToSql<Nullable<Cidr>, __DB> for IpNet
ipnet-address and postgres_backend only.Source§impl<__DB> ToSql<Nullable<Cidr>, __DB> for IpNetwork
Available on crate features network-address and postgres_backend only.
impl<__DB> ToSql<Nullable<Cidr>, __DB> for IpNetwork
network-address and postgres_backend only.Source§impl<__DB> ToSql<Nullable<Datetime>, __DB> for NaiveDateTime
Available on crate feature chrono only.
impl<__DB> ToSql<Nullable<Datetime>, __DB> for NaiveDateTime
chrono only.Source§impl<__DB> ToSql<Nullable<Datetime>, __DB> for OffsetDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Datetime>, __DB> for OffsetDateTime
time only.Source§impl<__DB> ToSql<Nullable<Datetime>, __DB> for PrimitiveDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Datetime>, __DB> for PrimitiveDateTime
time only.Source§impl<__DB> ToSql<Nullable<Inet>, __DB> for IpNet
Available on crate features ipnet-address and postgres_backend only.
impl<__DB> ToSql<Nullable<Inet>, __DB> for IpNet
ipnet-address and postgres_backend only.Source§impl<__DB> ToSql<Nullable<Inet>, __DB> for IpNetwork
Available on crate features network-address and postgres_backend only.
impl<__DB> ToSql<Nullable<Inet>, __DB> for IpNetwork
network-address and postgres_backend only.Source§impl<__DB> ToSql<Nullable<Interval>, __DB> for Duration
Available on crate feature chrono only.
impl<__DB> ToSql<Nullable<Interval>, __DB> for Duration
chrono only.Source§impl<__DB> ToSql<Nullable<Json>, __DB> for Value
Available on crate feature serde_json and (crate features postgres_backend or mysql_backend or sqlite) only.
impl<__DB> ToSql<Nullable<Json>, __DB> for Value
serde_json and (crate features postgres_backend or mysql_backend or sqlite) only.Source§impl<__DB> ToSql<Nullable<Jsonb>, __DB> for Value
Available on crate feature serde_json and (crate features postgres_backend or mysql_backend or sqlite) only.
impl<__DB> ToSql<Nullable<Jsonb>, __DB> for Value
serde_json and (crate features postgres_backend or mysql_backend or sqlite) only.Source§impl<__DB> ToSql<Nullable<MacAddr8>, __DB> for [u8; 8]
Available on crate feature postgres_backend only.
impl<__DB> ToSql<Nullable<MacAddr8>, __DB> for [u8; 8]
postgres_backend only.Source§impl<__DB> ToSql<Nullable<MacAddr>, __DB> for [u8; 6]
Available on crate feature postgres_backend only.
impl<__DB> ToSql<Nullable<MacAddr>, __DB> for [u8; 6]
postgres_backend only.Source§impl<__DB> ToSql<Nullable<Numeric>, __DB> for BigDecimal
Available on crate feature numeric only.
impl<__DB> ToSql<Nullable<Numeric>, __DB> for BigDecimal
numeric only.Source§impl<__DB> ToSql<Nullable<Timestamp>, __DB> for NaiveDateTime
Available on crate feature chrono only.
impl<__DB> ToSql<Nullable<Timestamp>, __DB> for NaiveDateTime
chrono only.Source§impl<__DB> ToSql<Nullable<Timestamp>, __DB> for PrimitiveDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Timestamp>, __DB> for PrimitiveDateTime
time only.Source§impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for NaiveDateTime
Available on crate feature chrono only.
impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for NaiveDateTime
chrono only.Source§impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for OffsetDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for OffsetDateTime
time only.Source§impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for PrimitiveDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for PrimitiveDateTime
time only.Source§impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for OffsetDateTime
Available on crate feature time only.
impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for OffsetDateTime
time only.Source§impl<__DB> ToSql<Nullable<Uuid>, __DB> for Uuid
Available on crate features uuid and postgres_backend only.
impl<__DB> ToSql<Nullable<Uuid>, __DB> for Uuid
uuid and postgres_backend only.Implementors§
impl ToSql<Date, Mysql> for MysqlTime
mysql_backend only.impl ToSql<Date, Pg> for PgDate
postgres_backend only.impl ToSql<Datetime, Mysql> for MysqlTime
mysql_backend only.impl ToSql<Interval, Pg> for PgInterval
postgres_backend only.impl ToSql<Money, Pg> for PgMoney
postgres_backend only.impl ToSql<NullValueTreatmentEnum, Pg> for NullValueTreatment
postgres_backend only.impl ToSql<Numeric, Pg> for PgNumeric
postgres_backend only.impl ToSql<PgLsn, Pg> for PgLsn
postgres_backend only.impl ToSql<RangeBoundEnum, Pg> for RangeBound
postgres_backend only.impl ToSql<Time, Mysql> for MysqlTime
mysql_backend only.impl ToSql<Time, Pg> for PgTime
postgres_backend only.impl ToSql<Timestamp, Mysql> for MysqlTime
mysql_backend only.impl ToSql<Timestamp, Pg> for PgTimestamp
postgres_backend only.impl ToSql<Timestamptz, Pg> for PgTimestamp
postgres_backend only.impl<'a, DB> ToSql<Text, DB> for MigrationVersion<'a>
impl<'a, __DB> ToSql<Nullable<Text>, __DB> for MigrationVersion<'a>
impl<__DB> ToSql<Nullable<Date>, __DB> for MysqlTime
mysql_backend only.impl<__DB> ToSql<Nullable<Date>, __DB> for PgDate
postgres_backend only.impl<__DB> ToSql<Nullable<Datetime>, __DB> for MysqlTime
mysql_backend only.impl<__DB> ToSql<Nullable<Interval>, __DB> for PgInterval
postgres_backend only.impl<__DB> ToSql<Nullable<Money>, __DB> for PgMoney
postgres_backend only.impl<__DB> ToSql<Nullable<NullValueTreatmentEnum>, __DB> for NullValueTreatment
postgres_backend only.impl<__DB> ToSql<Nullable<Numeric>, __DB> for PgNumeric
postgres_backend only.impl<__DB> ToSql<Nullable<PgLsn>, __DB> for PgLsn
postgres_backend only.impl<__DB> ToSql<Nullable<RangeBoundEnum>, __DB> for RangeBound
postgres_backend only.impl<__DB> ToSql<Nullable<Time>, __DB> for MysqlTime
mysql_backend only.impl<__DB> ToSql<Nullable<Time>, __DB> for PgTime
postgres_backend only.impl<__DB> ToSql<Nullable<Timestamp>, __DB> for MysqlTime
mysql_backend only.impl<__DB> ToSql<Nullable<Timestamp>, __DB> for PgTimestamp
postgres_backend only.impl<__DB> ToSql<Nullable<Timestamptz>, __DB> for PgTimestamp
postgres_backend only.