[−][src]Struct postgres_parser::sys::SetOperationStmt
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_: NodeTag
op: SetOperation
all: 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]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<SetOperationStmt> for SetOperationStmt
[src]
fn eq(&self, other: &SetOperationStmt) -> bool
[src]
fn ne(&self, other: &SetOperationStmt) -> bool
[src]
impl StructuralEq for SetOperationStmt
[src]
impl StructuralPartialEq for SetOperationStmt
[src]
Auto Trait Implementations
impl RefUnwindSafe for SetOperationStmt
impl !Send for SetOperationStmt
impl !Sync for SetOperationStmt
impl Unpin for SetOperationStmt
impl UnwindSafe for SetOperationStmt
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,