Struct Query
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§
§impl Ord for Query
impl Ord for Query
§impl PartialOrd for Query
impl PartialOrd for Query
§impl VisitMut for Query
impl VisitMut for Query
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
impl 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 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.