pub struct Query {
pub with: Option<With>,
pub body: Box<SetExpr>,
pub order_by: Option<OrderBy>,
pub limit_clause: Option<LimitClause>,
pub fetch: Option<Fetch>,
pub locks: Vec<LockClause>,
pub for_clause: Option<ForClause>,
pub settings: Option<Vec<Setting>>,
pub format_clause: Option<FormatClause>,
pub pipe_operators: Vec<PipeOperator>,
}Expand description
The most complete variant of a SELECT query expression, optionally
including WITH, UNION / other set operations, and ORDER BY.
Fields§
§with: Option<With>WITH (common table expressions, or CTEs)
body: Box<SetExpr>SELECT or UNION / EXCEPT / INTERSECT
order_by: Option<OrderBy>ORDER BY
limit_clause: Option<LimitClause>LIMIT ... OFFSET ... | LIMIT <offset>, <limit>
fetch: Option<Fetch>FETCH { FIRST | NEXT } <N> [ PERCENT ] { ROW | ROWS } | { ONLY | WITH TIES }
locks: Vec<LockClause>FOR { UPDATE | SHARE } [ OF table_name ] [ SKIP LOCKED | NOWAIT ]
for_clause: Option<ForClause>FOR XML { RAW | AUTO | EXPLICIT | PATH } [ , ELEMENTS ]
FOR JSON { AUTO | PATH } [ , INCLUDE_NULL_VALUES ]
(MSSQL-specific)
settings: Option<Vec<Setting>>ClickHouse syntax: SELECT * FROM t SETTINGS key1 = value1, key2 = value2
format_clause: Option<FormatClause>SELECT * FROM t FORMAT JSONCompact
ClickHouse (ClickHouse-specific)
pipe_operators: Vec<PipeOperator>Pipe operator
Trait Implementations§
Source§impl Ord for Query
impl Ord for Query
Source§impl PartialOrd for Query
impl PartialOrd for Query
Source§impl VisitMut for Query
impl VisitMut for Query
Source§fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
Mutably visit this node with the provided
VisitorMut. Read moreimpl Eq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnsafeUnpin for Query
impl UnwindSafe for Query
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