pub struct RangeFrameBounds {
pub order_data_type: DataType,
pub order_type: OrderType,
pub offset_data_type: DataType,
pub start: RangeFrameBound,
pub end: RangeFrameBound,
}Fields§
§order_data_type: DataType§order_type: OrderType§offset_data_type: DataType§start: RangeFrameBound§end: RangeFrameBoundImplementations§
Source§impl RangeFrameBounds
impl RangeFrameBounds
pub(super) fn from_protobuf(bounds: &PbRangeFrameBounds) -> Result<Self>
pub(super) fn to_protobuf(&self) -> PbRangeFrameBounds
Source§impl RangeFrameBounds
impl RangeFrameBounds
Sourcepub fn frame_start_of(
&self,
order_value: impl ToOwnedDatum,
) -> Sentinelled<Datum>
pub fn frame_start_of( &self, order_value: impl ToOwnedDatum, ) -> Sentinelled<Datum>
Get the frame start for a given order column value.
§Examples
For the following frames:
ORDER BY x ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
ORDER BY x DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWFor any CURRENT ROW with any order value, the frame start is always the first-most row, which is
represented by Sentinelled::Smallest.
For the following frame:
ORDER BY x ASC RANGE BETWEEN 10 PRECEDING AND CURRENT ROWFor CURRENT ROW with order value 100, the frame start is the FIRST row with order value 90.
For the following frame:
ORDER BY x DESC RANGE BETWEEN 10 PRECEDING AND CURRENT ROWFor CURRENT ROW with order value 100, the frame start is the FIRST row with order value 110.
Sourcepub fn frame_end_of(&self, order_value: impl ToOwnedDatum) -> Sentinelled<Datum>
pub fn frame_end_of(&self, order_value: impl ToOwnedDatum) -> Sentinelled<Datum>
Get the frame end for a given order column value. It’s very similar to frame_start_of, just with
everything on the other direction.
Sourcepub fn first_curr_of(
&self,
order_value: impl ToOwnedDatum,
) -> Sentinelled<Datum>
pub fn first_curr_of( &self, order_value: impl ToOwnedDatum, ) -> Sentinelled<Datum>
Get the order value of the CURRENT ROW of the first frame that includes the given order value.
§Examples
For the following frames:
ORDER BY x ASC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
ORDER BY x DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWINGFor any given order value, the first CURRENT ROW is always the first-most row, which is
represented by Sentinelled::Smallest.
For the following frame:
ORDER BY x ASC RANGE BETWEEN CURRENT ROW AND 10 FOLLOWINGFor a given order value 100, the first CURRENT ROW should have order value 90.
For the following frame:
ORDER BY x DESC RANGE BETWEEN CURRENT ROW AND 10 FOLLOWINGFor a given order value 100, the first CURRENT ROW should have order value 110.
Sourcepub fn last_curr_of(&self, order_value: impl ToOwnedDatum) -> Sentinelled<Datum>
pub fn last_curr_of(&self, order_value: impl ToOwnedDatum) -> Sentinelled<Datum>
Get the order value of the CURRENT ROW of the last frame that includes the given order value.
It’s very similar to first_curr_of, just with everything on the other direction.
Trait Implementations§
Source§impl Clone for RangeFrameBounds
impl Clone for RangeFrameBounds
Source§fn clone(&self) -> RangeFrameBounds
fn clone(&self) -> RangeFrameBounds
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RangeFrameBounds
impl Debug for RangeFrameBounds
Source§impl Display for RangeFrameBounds
impl Display for RangeFrameBounds
Source§impl FrameBoundsImpl for RangeFrameBounds
impl FrameBoundsImpl for RangeFrameBounds
Source§impl Hash for RangeFrameBounds
impl Hash for RangeFrameBounds
Source§impl PartialEq for RangeFrameBounds
impl PartialEq for RangeFrameBounds
impl Eq for RangeFrameBounds
impl StructuralPartialEq for RangeFrameBounds
Auto Trait Implementations§
impl Freeze for RangeFrameBounds
impl !RefUnwindSafe for RangeFrameBounds
impl Send for RangeFrameBounds
impl Sync for RangeFrameBounds
impl Unpin for RangeFrameBounds
impl !UnwindSafe for RangeFrameBounds
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SameOrElseExt for Twhere
T: Eq,
impl<T> SameOrElseExt for Twhere
T: Eq,
Source§fn same_or_else(self, other: T, f: impl FnOnce() -> T) -> T
fn same_or_else(self, other: T, f: impl FnOnce() -> T) -> T
self and other are equal, if so, return self, otherwise return the result of f().§impl<T> Scope for T
impl<T> Scope for T
§impl<T> ToRootSpan for Twhere
T: Display,
impl<T> ToRootSpan for Twhere
T: Display,
§fn to_root_span(&self) -> Span
fn to_root_span(&self) -> Span
Span] that can be used as the root of an await-tree.§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.