Struct Interval

Source
struct Interval {
    months: i32,
    days: i32,
    nanos: i64,
}

Fields§

§months: i32§days: i32§nanos: i64

Implementations§

Source§

impl Interval

Source

fn new(months: i32, days: i32, nanos: i64) -> Self

Source

fn to_year_months(&self) -> Result<i32, ArrowError>

Source

fn to_day_time(&self) -> Result<(i32, i32), ArrowError>

Source

fn to_month_day_nanos(&self) -> (i32, i32, i64)

Source

fn parse(value: &str, config: &IntervalParseConfig) -> Result<Self, ArrowError>

Parse string value in traditional Postgres format such as 1 year 2 months 3 days 4 hours 5 minutes 6 seconds

Source

fn add( &self, amount: IntervalAmount, unit: IntervalUnit, ) -> Result<Self, ArrowError>

Interval addition following Postgres behavior. Fractional units will be spilled into smaller units. When the interval unit is larger than months, the result is rounded to total months and not spilled to days/nanos. Fractional parts of weeks and days are represented using days and nanoseconds. e.g. INTERVAL ‘0.5 MONTH’ = 15 days, INTERVAL ‘1.5 MONTH’ = 1 month 15 days e.g. INTERVAL ‘0.5 DAY’ = 12 hours, INTERVAL ‘1.5 DAY’ = 1 day 12 hours Postgres reference

Trait Implementations§

Source§

impl Debug for Interval

Source§

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

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

impl Default for Interval

Source§

fn default() -> Interval

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Interval

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Interval

Auto Trait Implementations§

Blanket Implementations§

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> 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, 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.
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,