Skip to main content

IntMapping

Struct IntMapping 

Source
pub struct IntMapping<T, ST>(/* private fields */);
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Expand description

Map enum variants to INTEGER (in different sizes) by converting each variant to the relevant discriminant value

The generic type T specifies the Rust side integer type, while the generic type ST specifies the SQL side integer type. Both need to match

This mapping variant requires to specify explicit discriminant values for all enum variants

Trait Implementations§

Source§

impl<T: Debug, ST: Debug> Debug for IntMapping<T, ST>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, ST, DB> EnumMapping<DB> for IntMapping<T, ST>
where for<'a> DB: Backend<BindCollector<'a> = RawBytesBindCollector<DB>>, T: ToSql<ST, DB> + FromSql<ST, DB>, i128: TryInto<T, Error: Display> + TryFrom<T, Error: Display>,

Source§

fn map_to_database_value<'b>( output: &mut Output<'b, '_, DB>, variant: &'static EnumVariant, ) -> Result

Map an enum variant to the database representation
Source§

fn map_from_database_value( raw: <DB as Backend>::RawValue<'_>, type_name: &'static str, variants: &'static [EnumVariant], ) -> Result<usize>

Construct an enum variant from the database representation Read more
Source§

impl<T, ST> EnumMapping<Sqlite> for IntMapping<T, ST>
where T: ToSql<ST, Sqlite> + FromSql<ST, Sqlite>, for<'a> SqliteBindValue<'a>: From<T>, i128: TryInto<T, Error: Display> + TryFrom<T, Error: Display>,

Available on crate feature __sqlite-shared only.
Source§

fn map_to_database_value<'b>( output: &mut Output<'b, '_, Sqlite>, variant: &'static EnumVariant, ) -> Result

Map an enum variant to the database representation
Source§

fn map_from_database_value( raw: SqliteValue<'_, '_, '_>, type_name: &'static str, variants: &'static [EnumVariant], ) -> Result<usize>

Construct an enum variant from the database representation Read more

Auto Trait Implementations§

§

impl<T, ST> Freeze for IntMapping<T, ST>

§

impl<T, ST> RefUnwindSafe for IntMapping<T, ST>

§

impl<T, ST> Send for IntMapping<T, ST>
where T: Send, ST: Send,

§

impl<T, ST> Sync for IntMapping<T, ST>
where T: Sync, ST: Sync,

§

impl<T, ST> Unpin for IntMapping<T, ST>
where T: Unpin, ST: Unpin,

§

impl<T, ST> UnsafeUnpin for IntMapping<T, ST>

§

impl<T, ST> UnwindSafe for IntMapping<T, ST>
where T: UnwindSafe, ST: UnwindSafe,

Blanket Implementations§

Source§

impl<T> AggregateExpressionMethods for T

Source§

fn aggregate_distinct(self) -> AggregateDistinct<Self>
where Self: DistinctDsl,

DISTINCT modifier for aggregate functions Read more
Source§

fn aggregate_all(self) -> AggregateAll<Self>
where Self: AllDsl,

ALL modifier for aggregate functions Read more
Source§

fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
where P: AsExpression<Bool>, Self: FilterDsl<P::Expression>,

Add an aggregate function filter Read more
Source§

fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>
where Self: OrderAggregateDsl<O>,

Add an aggregate function order Read more
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> AsExprOf<Self, T>

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WindowExpressionMethods for T

Source§

fn over(self) -> Over<Self>
where Self: OverDsl,

Turn a function call into a window function call Read more
Source§

fn window_filter<P>(self, f: P) -> WindowFilter<Self, P>
where P: AsExpression<Bool>, Self: FilterDsl<P::Expression>,

Add a filter to the current window function Read more
Source§

fn partition_by<E>(self, expr: E) -> PartitionBy<Self, E>
where Self: PartitionByDsl<E>,

Add a partition clause to the current window function Read more
Source§

fn window_order<E>(self, expr: E) -> WindowOrder<Self, E>
where Self: OrderWindowDsl<E>,

Add a order clause to the current window function Read more
Source§

fn frame_by<E>(self, expr: E) -> FrameBy<Self, E>
where Self: FrameDsl<E>,

Add a frame clause to the current window function Read more