pub struct Interval {
pub months: i32,
pub days: i32,
pub microseconds: i64,
}
Expand description
A type that mimics sqlx::postgres::types::PgInterval
but provides
both serde::Serialize
and serde::Deserialize
into and from ISO 8601 string format.
ISO 8601 Duration Format:
P(n)Y(n)M(n)DT(n)H(n)M(n)S
Where:
P - “period”/duration designator (always present at beginning)
(n) - integer
Y - follows number of years
M - follows number of months
W - follows number of weeks
D - follows number of days
T - designator that precedes time components
H - follows number of hours
M - follows number of minutes
S - follows number of seconds
See also:
- https://en.wikipedia.org/wiki/ISO_8601#Durations
- https://www.digi.com/resources/documentation/digidocs/90001488-13/reference/r_iso_8601_duration_format.htm
Fields§
§months: i32
§days: i32
§microseconds: i64
Trait Implementations§
Source§impl<'de> Decode<'de, Postgres> for Interval
impl<'de> Decode<'de, Postgres> for Interval
Source§fn decode(value: PgValueRef<'de>) -> Result<Self, BoxDynError>
fn decode(value: PgValueRef<'de>) -> Result<Self, BoxDynError>
Decode a new value of this type using a raw value from the database.
Source§impl<'de> Deserialize<'de> for Interval
impl<'de> Deserialize<'de> for Interval
Source§fn deserialize<D>(deserializer: D) -> Result<Interval, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Interval, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode<'_, Postgres> for Interval
impl Encode<'_, Postgres> for Interval
Source§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, BoxDynError>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, BoxDynError>
fn size_hint(&self) -> usize
Source§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self
into buf
in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl PgHasArrayType for Interval
impl PgHasArrayType for Interval
fn array_type_info() -> PgTypeInfo
fn array_compatible(ty: &PgTypeInfo) -> bool
Source§impl TryFrom<Duration> for Interval
impl TryFrom<Duration> for Interval
impl Eq for Interval
impl StructuralPartialEq for Interval
Auto Trait Implementations§
impl Freeze for Interval
impl RefUnwindSafe for Interval
impl Send for Interval
impl Sync for Interval
impl Unpin for Interval
impl UnwindSafe for Interval
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more