Struct diesel::pg::data_types::PgMoney

source ·
pub struct PgMoney(pub i64);
Available on crate feature postgres_backend only.
Expand description

Money is represented in Postgres as a 64 bit signed integer. This struct is a dumb wrapper type, meant only to indicate the integer’s meaning. The fractional precision of the value is determined by the lc_monetary setting of the database. This struct is re-exported as Cents as a convenient and conventional expression of a typical unit of 1/100th of currency. For other names or precisions, users might consider a differently named use of the PgMoney struct.

use diesel::data_types::PgMoney as Pence; // 1/100th unit of Pound
use diesel::data_types::PgMoney as Fils;  // 1/1000th unit of Dinar

Tuple Fields§

§0: i64

Trait Implementations§

source§

impl Add for PgMoney

source§

fn add(self, rhs: PgMoney) -> Self::Output

Panics

Performs a checked addition, and will panic! on overflow in both debug and release.

§

type Output = PgMoney

The resulting type after applying the + operator.
source§

impl AddAssign for PgMoney

source§

fn add_assign(&mut self, rhs: PgMoney)

Panics

Performs a checked addition, and will panic! on overflow in both debug and release.

source§

impl Arbitrary for PgMoney

Available on crate feature quickcheck only.
source§

fn arbitrary(g: &mut Gen) -> Self

Return an arbitrary value. Read more
source§

fn shrink(&self) -> Box<dyn Iterator<Item = Self>>

Return an iterator of values that are smaller than itself. Read more
source§

impl<'expr> AsExpression<Money> for &'expr PgMoney

§

type Expression = Bound<Money, &'expr PgMoney>

The expression being returned
source§

fn as_expression(self) -> Self::Expression

Perform the conversion
source§

impl AsExpression<Money> for PgMoney

§

type Expression = Bound<Money, PgMoney>

The expression being returned
source§

fn as_expression(self) -> Self::Expression

Perform the conversion
source§

impl<'expr> AsExpression<Nullable<Money>> for &'expr PgMoney

§

type Expression = Bound<Nullable<Money>, &'expr PgMoney>

The expression being returned
source§

fn as_expression(self) -> Self::Expression

Perform the conversion
source§

impl AsExpression<Nullable<Money>> for PgMoney

§

type Expression = Bound<Nullable<Money>, PgMoney>

The expression being returned
source§

fn as_expression(self) -> Self::Expression

Perform the conversion
source§

impl Clone for PgMoney

source§

fn clone(&self) -> PgMoney

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PgMoney

source§

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

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

impl FromSql<Money, Pg> for PgMoney

source§

fn from_sql(bytes: PgValue<'_>) -> Result<Self>

See the trait documentation.
source§

fn from_nullable_sql(bytes: Option<DB::RawValue<'_>>) -> Result<Self>

A specialized variant of from_sql for handling null values. Read more
source§

impl Ord for PgMoney

source§

fn cmp(&self, other: &PgMoney) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PgMoney

source§

fn eq(&self, other: &PgMoney) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for PgMoney

source§

fn partial_cmp(&self, other: &PgMoney) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<__ST, __DB> Queryable<__ST, __DB> for PgMoneywhere __DB: Backend, __ST: SingleValue, Self: FromSql<__ST, __DB>,

§

type Row = PgMoney

The Rust type you’d like to map from. Read more
source§

fn build(row: Self::Row) -> Result<Self>

Construct an instance of this type
source§

impl Sub for PgMoney

source§

fn sub(self, rhs: PgMoney) -> Self::Output

Panics

Performs a checked subtraction, and will panic! on underflow in both debug and release.

§

type Output = PgMoney

The resulting type after applying the - operator.
source§

impl SubAssign for PgMoney

source§

fn sub_assign(&mut self, rhs: PgMoney)

Panics

Performs a checked subtraction, and will panic! on underflow in both debug and release.

source§

impl ToSql<Money, Pg> for PgMoney

source§

fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, Pg>) -> Result

See the trait documentation.
source§

impl<__DB> ToSql<Nullable<Money>, __DB> for PgMoneywhere __DB: Backend, Self: ToSql<Money, __DB>,

source§

fn to_sql<'__b>(&'__b self, out: &mut Output<'__b, '_, __DB>) -> Result

See the trait documentation.
source§

impl Copy for PgMoney

source§

impl Eq for PgMoney

source§

impl StructuralEq for PgMoney

source§

impl StructuralPartialEq for PgMoney

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, ST, DB> FromSqlRow<ST, DB> for Twhere T: Queryable<ST, DB>, ST: SqlTypeOrSelectable, DB: Backend, <T as Queryable<ST, DB>>::Row: FromStaticSqlRow<ST, DB>,

source§

fn build_from_row<'a>( row: &impl Row<'a, DB> ) -> Result<T, Box<dyn Error + Send + Sync>>

See the trait documentation.
source§

impl<T, ST, DB> FromStaticSqlRow<ST, DB> for Twhere DB: Backend, T: FromSql<ST, DB>, ST: SingleValue,

source§

fn build_from_row<'a>( row: &impl Row<'a, DB> ) -> Result<T, Box<dyn Error + Send + Sync>>

See the trait documentation
source§

impl<T, U> Into<U> for Twhere 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>where Self: AsExpression<T> + Sized, T: SqlType + TypedExpressionType,

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, ST, DB> StaticallySizedRow<ST, DB> for Twhere ST: SqlTypeOrSelectable + TupleSize, T: Queryable<ST, DB>, DB: Backend,

source§

const FIELD_COUNT: usize = const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE;

The number of fields that this type will consume.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V