[][src]Struct postgres_parser::sys::WindowClause

#[repr(C)]pub struct WindowClause {
    pub type_: NodeTag,
    pub name: *mut c_char,
    pub refname: *mut c_char,
    pub partitionClause: *mut List,
    pub orderClause: *mut List,
    pub frameOptions: c_int,
    pub startOffset: *mut Node,
    pub endOffset: *mut Node,
    pub startInRangeFunc: Oid,
    pub endInRangeFunc: Oid,
    pub inRangeColl: Oid,
    pub inRangeAsc: bool,
    pub inRangeNullsFirst: bool,
    pub winref: Index,
    pub copiedOrder: bool,
}

WindowClause transformed representation of WINDOW and OVER clauses

A parsed Query's windowClause list contains these structs. "name" is set if the clause originally came from WINDOW, and is NULL if it originally was an OVER clause (but note that we collapse out duplicate OVERs). partitionClause and orderClause are lists of SortGroupClause structs. If we have RANGE with offset PRECEDING/FOLLOWING, the semantics of that are specified by startInRangeFunc/inRangeColl/inRangeAsc/inRangeNullsFirst for the start offset, or endInRangeFunc/inRange* for the end offset. winref is an ID number referenced by WindowFunc nodes; it must be unique among the members of a Query's windowClause list. When refname isn't null, the partitionClause is always copied from there; the orderClause might or might not be copied (see copiedOrder); the framing options are never copied, per spec.

Fields

type_: NodeTagname: *mut c_charrefname: *mut c_char

window name (NULL in an OVER clause)

partitionClause: *mut List

referenced window name, if any

orderClause: *mut List

PARTITION BY list

frameOptions: c_int

ORDER BY list

startOffset: *mut Node

frame_clause options, see WindowDef

endOffset: *mut Node

expression for starting bound, if any

startInRangeFunc: Oid

expression for ending bound, if any

endInRangeFunc: Oid

in_range function for startOffset

inRangeColl: Oid

in_range function for endOffset

inRangeAsc: bool

collation for in_range tests

inRangeNullsFirst: bool

use ASC sort order for in_range tests?

winref: Index

nulls sort first for in_range tests?

copiedOrder: bool

ID referenced by window functions

Trait Implementations

impl Debug for WindowClause[src]

impl Default for WindowClause[src]

impl Eq for WindowClause[src]

impl Hash for WindowClause[src]

impl PartialEq<WindowClause> for WindowClause[src]

impl StructuralEq for WindowClause[src]

impl StructuralPartialEq for WindowClause[src]

Auto Trait Implementations

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.