pub struct Window {
pub input: Arc<LogicalPlan>,
pub window_expr: Vec<Expr>,
pub schema: DFSchemaRef,
}Expand description
Window its input based on a set of window spec and window function (e.g. SUM or RANK)
§Output Schema
The output schema is the input schema followed by the window function expressions, in order.
For example, given the input schema "A", "B", "C" and the window function
SUM(A) OVER (PARTITION BY B+1 ORDER BY C), the output schema will be "A", "B", "C", "SUM(A) OVER ..." where "SUM(A) OVER ..." is the name of the
output column.
Note that the PARTITION BY expression “B+1” is not produced in the output
schema.
Fields§
§input: Arc<LogicalPlan>The incoming logical plan
window_expr: Vec<Expr>The window function expression
schema: DFSchemaRefThe schema description of the window output
Implementations§
Source§impl Window
impl Window
Sourcepub fn try_new(window_expr: Vec<Expr>, input: Arc<LogicalPlan>) -> Result<Self>
pub fn try_new(window_expr: Vec<Expr>, input: Arc<LogicalPlan>) -> Result<Self>
Create a new window operator.
Sourcepub fn try_new_with_schema(
window_expr: Vec<Expr>,
input: Arc<LogicalPlan>,
schema: DFSchemaRef,
) -> Result<Self>
pub fn try_new_with_schema( window_expr: Vec<Expr>, input: Arc<LogicalPlan>, schema: DFSchemaRef, ) -> Result<Self>
Create a new window function using the provided schema to avoid the overhead of building the schema again when the schema is already known.
This method should only be called when you are absolutely sure that the schema being provided is correct for the window function. If in doubt, call try_new instead.
Trait Implementations§
Source§impl PartialOrd for Window
impl PartialOrd for Window
impl Eq for Window
impl StructuralPartialEq for Window
Auto Trait Implementations§
impl Freeze for Window
impl !RefUnwindSafe for Window
impl Send for Window
impl Sync for Window
impl Unpin for Window
impl !UnwindSafe for Window
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more