[][src]Struct postgres_parser::nodes::SetOperationStmt

pub struct SetOperationStmt {
    pub op: SetOperation,
    pub all: bool,
    pub larg: Option<Box<Node>>,
    pub rarg: Option<Box<Node>>,
    pub colTypes: Option<Vec<Node>>,
    pub colTypmods: Option<Vec<Node>>,
    pub colCollations: Option<Vec<Node>>,
    pub groupClauses: Option<Vec<Node>>,
}

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

op: SetOperationall: boollarg: Option<Box<Node>>rarg: Option<Box<Node>>colTypes: Option<Vec<Node>>colTypmods: Option<Vec<Node>>colCollations: Option<Vec<Node>>groupClauses: Option<Vec<Node>>

Trait Implementations

impl Debug for SetOperationStmt[src]

impl<'de> Deserialize<'de> for SetOperationStmt[src]

impl Eq for SetOperationStmt[src]

impl PartialEq<SetOperationStmt> for SetOperationStmt[src]

impl Serialize 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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[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.