[][src]Trait sqlx::types::HasSqlType

pub trait HasSqlType<T>: Database where
    T: ?Sized
{ fn type_info() -> Self::TypeInfo; }

Indicates that a SQL type is supported for a database.

Required methods

fn type_info() -> Self::TypeInfo

Returns the canonical type information on the database for the type T.

Loading content...

Implementors

impl HasSqlType<bool> for MySql[src]

impl HasSqlType<bool> for Postgres[src]

impl HasSqlType<f32> for Postgres[src]

impl HasSqlType<f32> for MySql[src]

The equivalent MySQL type for f32 is FLOAT.

Note

While we added support for f32 as FLOAT for completeness, we don't recommend using it for any real-life applications as it cannot precisely represent some fractional values, and may be implicitly widened to DOUBLE in some cases, resulting in a slightly different value:

// Widening changes the equivalent decimal value, these two expressions are not equal
// (This is expected behavior for floating points and happens both in Rust and in MySQL)
assert_ne!(10.2f32 as f64, 10.2f64);

impl HasSqlType<f64> for Postgres[src]

impl HasSqlType<f64> for MySql[src]

The equivalent MySQL type for f64 is DOUBLE.

Note that DOUBLE is a floating-point type and cannot represent some fractional values exactly.

impl HasSqlType<i16> for MySql[src]

impl HasSqlType<i16> for Postgres[src]

impl HasSqlType<i32> for MySql[src]

impl HasSqlType<i32> for Postgres[src]

impl HasSqlType<i64> for Postgres[src]

impl HasSqlType<i64> for MySql[src]

impl HasSqlType<i8> for MySql[src]

impl HasSqlType<[bool]> for Postgres[src]

impl HasSqlType<[f32]> for Postgres[src]

impl HasSqlType<[f64]> for Postgres[src]

impl HasSqlType<[i16]> for Postgres[src]

impl HasSqlType<[i32]> for Postgres[src]

impl HasSqlType<[i64]> for Postgres[src]

impl HasSqlType<[u8]> for Postgres[src]

impl HasSqlType<[u8]> for MySql[src]

impl HasSqlType<[NaiveDate]> for Postgres[src]

impl HasSqlType<[NaiveDateTime]> for Postgres[src]

impl HasSqlType<[NaiveTime]> for Postgres[src]

impl HasSqlType<[Uuid]> for Postgres[src]

impl HasSqlType<str> for MySql[src]

impl HasSqlType<str> for Postgres[src]

impl HasSqlType<u16> for MySql[src]

impl HasSqlType<u32> for MySql[src]

impl HasSqlType<u64> for MySql[src]

impl HasSqlType<u8> for MySql[src]

impl HasSqlType<DateTime<Utc>> for MySql[src]

impl HasSqlType<NaiveDate> for MySql[src]

impl HasSqlType<NaiveDate> for Postgres[src]

impl HasSqlType<NaiveDateTime> for MySql[src]

impl HasSqlType<NaiveDateTime> for Postgres[src]

impl HasSqlType<NaiveTime> for MySql[src]

impl HasSqlType<NaiveTime> for Postgres[src]

impl HasSqlType<Uuid> for Postgres[src]

impl HasSqlType<String> for MySql[src]

impl HasSqlType<String> for Postgres[src]

impl HasSqlType<Vec<u8>> for MySql[src]

impl HasSqlType<Vec<u8>> for Postgres[src]

impl<'_> HasSqlType<[&'_ str]> for Postgres[src]

impl<'_> HasSqlType<[&'_ [u8]]> for Postgres[src]

impl<'_, T, DB> HasSqlType<&'_ T> for DB where
    DB: HasSqlType<T>,
    T: ?Sized
[src]

impl<T, DB> HasSqlType<Option<T>> for DB where
    DB: HasSqlType<T>, 
[src]

impl<Tz> HasSqlType<[DateTime<Tz>]> for Postgres where
    Tz: TimeZone
[src]

impl<Tz> HasSqlType<DateTime<Tz>> for Postgres where
    Tz: TimeZone
[src]

Loading content...