[][src]Struct postgres_parser::sys::SetOperationStmt

#[repr(C)]pub struct SetOperationStmt {
    pub type_: NodeTag,
    pub op: SetOperation,
    pub all: bool,
    pub larg: *mut Node,
    pub rarg: *mut Node,
    pub colTypes: *mut List,
    pub colTypmods: *mut List,
    pub colCollations: *mut List,
    pub groupClauses: *mut List,
}

Set Operation node for postanalysis query trees

After parse analysis, a SELECT with set operations is represented by a toplevel Query node containing the leaf SELECTs as subqueries in its range table. Its setOperations field shows the tree of set operations, with leaf SelectStmt nodes replaced by RangeTblRef nodes, and internal nodes replaced by SetOperationStmt nodes. Information about the output column types is added, too. (Note that the child nodes do not necessarily produce these types directly, but we've checked that their output types can be coerced to the output column type.) Also, if it's not UNION ALL, information about the types' sort/group semantics is provided in the form of a SortGroupClause list (same representation as, eg, DISTINCT). The resolved common column collations are provided too; but note that if it's not UNION ALL, it's okay for a column to not have a common collation, so a member of the colCollations list could be InvalidOid even though the column has a collatable type.

Fields

type_: NodeTagop: SetOperationall: bool

type of set op

larg: *mut Node

ALL specified?

rarg: *mut Node

left child

colTypes: *mut List

Fields derived during parse analysis:

colTypmods: *mut List

OID list of output column type OIDs

colCollations: *mut List

integer list of output column typmods

groupClauses: *mut List

OID list of output column collation OIDs

Trait Implementations

impl Debug for SetOperationStmt[src]

impl Default for SetOperationStmt[src]

impl Eq for SetOperationStmt[src]

impl Hash for SetOperationStmt[src]

impl PartialEq<SetOperationStmt> for SetOperationStmt[src]

impl StructuralEq for SetOperationStmt[src]

impl StructuralPartialEq for SetOperationStmt[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.