pub enum QueryBody {
Select(SelectRef),
SetOp {
op: SetOp,
quantifier: Quantifier,
by_name: bool,
left: QueryRef,
right: QueryRef,
},
Values(Slice),
}Expand description
What produces the rows of a query.
Variants§
Select(SelectRef)
One SELECT ... FROM ... WHERE ... block.
SetOp
UNION, EXCEPT or INTERSECT over two queries.
Fields
§
quantifier: QuantifierWhether duplicates survive.
Values(Slice)
VALUES (1, 'a'), (2, 'b'), as a run of Slice in Ast::rows.
A row count and a column count and nothing else, so it is a query body rather than a
statement of its own. That is also what makes INSERT INTO t VALUES (1) and
INSERT INTO t SELECT 1 the same shape by the time anything downstream sees them, which is
the reason the insert walker does not have two arms.
Trait Implementations§
impl Copy for QueryBody
impl Eq for QueryBody
impl StructuralPartialEq for QueryBody
Auto Trait Implementations§
impl Freeze for QueryBody
impl RefUnwindSafe for QueryBody
impl Send for QueryBody
impl Sync for QueryBody
impl Unpin for QueryBody
impl UnsafeUnpin for QueryBody
impl UnwindSafe for QueryBody
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more