struct RankEvaluator {
state: RankState,
rank_type: RankType,
}Expand description
State for the rank built-in window function.
Fields§
§state: RankState§rank_type: RankTypeTrait Implementations§
Source§impl Debug for RankEvaluator
impl Debug for RankEvaluator
Source§impl PartitionEvaluator for RankEvaluator
impl PartitionEvaluator for RankEvaluator
Source§fn is_causal(&self) -> bool
fn is_causal(&self) -> bool
Get whether evaluator needs future data for its result (if so returns
false) or notSource§fn evaluate(
&mut self,
values: &[ArrayRef],
range: &Range<usize>,
) -> Result<ScalarValue>
fn evaluate( &mut self, values: &[ArrayRef], range: &Range<usize>, ) -> Result<ScalarValue>
Evaluate window function on a range of rows in an input
partition.x Read more
Source§fn evaluate_all_with_rank(
&self,
num_rows: usize,
ranks_in_partition: &[Range<usize>],
) -> Result<ArrayRef>
fn evaluate_all_with_rank( &self, num_rows: usize, ranks_in_partition: &[Range<usize>], ) -> Result<ArrayRef>
PartitionEvaluator::evaluate_all_with_rank is called for window
functions that only need the rank of a row within its window
frame. Read moreSource§fn supports_bounded_execution(&self) -> bool
fn supports_bounded_execution(&self) -> bool
Can the window function be incrementally computed using
bounded memory? Read more
Source§fn include_rank(&self) -> bool
fn include_rank(&self) -> bool
Can this function be evaluated with (only) rank Read more
Source§fn memoize(
&mut self,
_state: &mut WindowAggState,
) -> Result<(), DataFusionError>
fn memoize( &mut self, _state: &mut WindowAggState, ) -> Result<(), DataFusionError>
When the window frame has a fixed beginning (e.g UNBOUNDED
PRECEDING), some functions such as FIRST_VALUE, LAST_VALUE and
NTH_VALUE do not need the (unbounded) input once they have
seen a certain amount of input. Read more
Source§fn get_range(
&self,
idx: usize,
_n_rows: usize,
) -> Result<Range<usize>, DataFusionError>
fn get_range( &self, idx: usize, _n_rows: usize, ) -> Result<Range<usize>, DataFusionError>
If
uses_window_frame flag is false. This method is used to
calculate required range for the window function during
stateful execution. Read moreSource§fn evaluate_all(
&mut self,
values: &[Arc<dyn Array>],
num_rows: usize,
) -> Result<Arc<dyn Array>, DataFusionError>
fn evaluate_all( &mut self, values: &[Arc<dyn Array>], num_rows: usize, ) -> Result<Arc<dyn Array>, DataFusionError>
Evaluate a window function on an entire input partition. Read more
Source§fn uses_window_frame(&self) -> bool
fn uses_window_frame(&self) -> bool
Does the window function use the values from the window frame,
if one is specified? Read more
Auto Trait Implementations§
impl Freeze for RankEvaluator
impl !RefUnwindSafe for RankEvaluator
impl Send for RankEvaluator
impl Sync for RankEvaluator
impl Unpin for RankEvaluator
impl !UnwindSafe for RankEvaluator
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
§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> 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