[][src]Struct postgres_parser::sys::FuncCall

#[repr(C)]pub struct FuncCall {
    pub type_: NodeTag,
    pub funcname: *mut List,
    pub args: *mut List,
    pub agg_order: *mut List,
    pub agg_filter: *mut Node,
    pub agg_within_group: bool,
    pub agg_star: bool,
    pub agg_distinct: bool,
    pub func_variadic: bool,
    pub over: *mut WindowDef,
    pub location: c_int,
}

FuncCall a function or aggregate invocation

agg_order (if not NIL) indicates we saw 'foo(... ORDER BY ...)', or if agg_within_group is true, it was 'foo(...) WITHIN GROUP (ORDER BY ...)'. agg_star indicates we saw a 'foo(*)' construct, while agg_distinct indicates we saw 'foo(DISTINCT ...)'. In any of these cases, the construct must be an aggregate call. Otherwise, it might be either an aggregate or some other kind of function. However, if FILTER or OVER is present it had better be an aggregate or window function.

Normally, you'd initialize this via makeFuncCall() and then only change the parts of the struct its defaults don't match afterwards, as needed.

Fields

type_: NodeTagfuncname: *mut Listargs: *mut List

qualified name of function

agg_order: *mut List

the arguments (list of exprs)

agg_filter: *mut Node

ORDER BY (list of SortBy)

agg_within_group: bool

FILTER clause, if any

agg_star: bool

ORDER BY appeared in WITHIN GROUP

agg_distinct: bool

argument was really '*'

func_variadic: bool

arguments were labeled DISTINCT

over: *mut WindowDef

last argument was labeled VARIADIC

location: c_int

OVER clause, if any

Trait Implementations

impl Debug for FuncCall[src]

impl Default for FuncCall[src]

impl Eq for FuncCall[src]

impl Hash for FuncCall[src]

impl PartialEq<FuncCall> for FuncCall[src]

impl StructuralEq for FuncCall[src]

impl StructuralPartialEq for FuncCall[src]

Auto Trait Implementations

impl RefUnwindSafe for FuncCall

impl !Send for FuncCall

impl !Sync for FuncCall

impl Unpin for FuncCall

impl UnwindSafe for FuncCall

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.