Struct AccumulatorArgs

Source
pub struct AccumulatorArgs<'a> {
    pub return_type: &'a DataType,
    pub schema: &'a Schema,
    pub ignore_nulls: bool,
    pub ordering_req: &'a LexOrdering,
    pub is_reversed: bool,
    pub name: &'a str,
    pub is_distinct: bool,
    pub exprs: &'a [Arc<dyn PhysicalExpr>],
}
Expand description

AccumulatorArgs contains information about how an aggregate function was called, including the types of its arguments and any optional ordering expressions.

Fields§

§return_type: &'a DataType

The return type of the aggregate function.

§schema: &'a Schema

The schema of the input arguments

§ignore_nulls: bool

Whether to ignore nulls.

SQL allows the user to specify IGNORE NULLS, for example:

SELECT FIRST_VALUE(column1) IGNORE NULLS FROM t;
§ordering_req: &'a LexOrdering

The expressions in the ORDER BY clause passed to this aggregator.

SQL allows the user to specify the ordering of arguments to the aggregate using an ORDER BY. For example:

SELECT FIRST_VALUE(column1 ORDER BY column2) FROM t;

If no ORDER BY is specified, ordering_req will be empty.

§is_reversed: bool

Whether the aggregation is running in reverse order

§name: &'a str

The name of the aggregate expression

§is_distinct: bool

Whether the aggregate function is distinct.

SELECT COUNT(DISTINCT column1) FROM t;
§exprs: &'a [Arc<dyn PhysicalExpr>]

The physical expression of arguments the aggregate function takes.

Trait Implementations§

Source§

impl<'a> Debug for AccumulatorArgs<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for AccumulatorArgs<'a>

§

impl<'a> !RefUnwindSafe for AccumulatorArgs<'a>

§

impl<'a> Send for AccumulatorArgs<'a>

§

impl<'a> Sync for AccumulatorArgs<'a>

§

impl<'a> Unpin for AccumulatorArgs<'a>

§

impl<'a> !UnwindSafe for AccumulatorArgs<'a>

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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