[][src]Struct diesel::pg::data_types::PgInterval

pub struct PgInterval {
    pub microseconds: i64,
    pub days: i32,
    pub months: i32,
}

Intervals in Postgres are separated into 3 parts. A 64 bit integer representing time in microseconds, a 32 bit integer representing number of days, and a 32 bit integer representing number of months. This struct is a dumb wrapper type, meant only to indicate the meaning of these parts.

Fields

microseconds: i64

The number of whole microseconds

days: i32

The number of whole days

months: i32

The number of whole months

Methods

impl PgInterval[src]

pub fn new(microseconds: i64, days: i32, months: i32) -> Self[src]

Constructs a new PgInterval

No conversion occurs on the arguments. It is valid to provide a number of microseconds greater than the longest possible day, or a number of days greater than the longest possible month, as it is impossible to say how many months are in "40 days" without knowing a precise date.

pub fn from_microseconds(microseconds: i64) -> Self[src]

Equivalent to new(microseconds, 0, 0)

pub fn from_days(days: i32) -> Self[src]

Equivalent to new(0, days, 0)

pub fn from_months(months: i32) -> Self[src]

Equivalent to new(0, 0, months)

Trait Implementations

impl<__ST, __DB> Queryable<__ST, __DB> for PgInterval where
    __DB: Backend,
    Self: FromSql<__ST, __DB>, 
[src]

type Row = Self

The Rust type you'd like to map from. Read more

impl FromSql<Interval, Pg> for PgInterval[src]

impl<__ST, __DB> FromSqlRow<__ST, __DB> for PgInterval where
    __DB: Backend,
    Self: FromSql<__ST, __DB>, 
[src]

const FIELDS_NEEDED: usize[src]

The number of fields that this type will consume. Must be equal to the number of times you would call row.take() in build_from_row Read more

impl<'expr> AsExpression<Interval> for &'expr PgInterval[src]

type Expression = Bound<Interval, Self>

The expression being returned

impl<'expr> AsExpression<Nullable<Interval>> for &'expr PgInterval[src]

type Expression = Bound<Nullable<Interval>, Self>

The expression being returned

impl AsExpression<Interval> for PgInterval[src]

type Expression = Bound<Interval, Self>

The expression being returned

impl AsExpression<Nullable<Interval>> for PgInterval[src]

type Expression = Bound<Nullable<Interval>, Self>

The expression being returned

impl<__DB> ToSql<Nullable<Interval>, __DB> for PgInterval where
    __DB: Backend,
    Self: ToSql<Interval, __DB>, 
[src]

impl ToSql<Interval, Pg> for PgInterval[src]

impl Copy for PgInterval[src]

impl PartialEq<PgInterval> for PgInterval[src]

impl Clone for PgInterval[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Eq for PgInterval[src]

impl Debug for PgInterval[src]

impl Add<PgInterval> for PgInterval[src]

type Output = PgInterval

The resulting type after applying the + operator.

Auto Trait Implementations

impl Send for PgInterval

impl Sync for PgInterval

Blanket Implementations

impl<T> IntoSql for T[src]

fn into_sql<T>(self) -> AsExprOf<Self, T> where
    Self: AsExpression<T> + Sized
[src]

Convert self to an expression for Diesel's query builder. Read more

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T> where
    &'a Self: AsExpression<T>, 
[src]

Convert &self to an expression for Diesel's query builder. Read more

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.