Skip to main content

Aggref

Struct Aggref 

Source
pub struct Aggref {
    pub oid: u32,
    pub kind: u8,
    pub direct: Vec<Expr>,
    pub args: Vec<Expr>,
    pub nargs: usize,
    pub order: Vec<SortGroup>,
    pub distinct: Vec<SortGroup>,
    pub star: bool,
    pub variadic: bool,
    pub filter: Option<Box<Expr>>,
    pub levels_up: usize,
}
Expand description

A call of an aggregate function, as Aggref.

Fields§

§oid: u32

aggfnoid: the OID of the aggregate function in pg_proc.

§kind: u8

aggkind: n for a normal aggregate, o for an ordered-set aggregate or h for a hypothetical-set aggregate.

§direct: Vec<Expr>

aggdirectargs: the direct arguments of an ordered-set aggregate, which the aggregate reads once for each group.

§args: Vec<Expr>

The arguments, then the expressions that only the ORDER BY of the call reads.

§nargs: usize

The number of arguments at the start of args.

§order: Vec<SortGroup>

aggorder: the items of the ORDER BY of the call. Each item names an expression of args.

§distinct: Vec<SortGroup>

aggdistinct: the items of DISTINCT, which are all the arguments. The items of ORDER BY come first.

§star: bool

aggstar: true for count(*).

§variadic: bool

aggvariadic: true when the last argument is the array of a variadic aggregate.

§filter: Option<Box<Expr>>

aggfilter: the condition of FILTER (WHERE ...).

§levels_up: usize

agglevelsup: 0 for an aggregate of the query that has the call, 1 for an aggregate of the query outside it, and so on. The arguments of an aggregate of an outer query read only the columns of that query and of the queries outside it.

Trait Implementations§

Source§

impl Clone for Aggref

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Aggref

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Aggref

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Aggref

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.