Enum mz_sql_parser::ast::CteBlock
source · pub enum CteBlock<T: AstInfo> {
Simple(Vec<Cte<T>>),
MutuallyRecursive(MutRecBlock<T>),
}
Expand description
A block of common table expressions (CTEs).
The block can either be entirely “simple” (traditional SQL WITH
block),
or “mutually recursive”, which introduce their bindings before the block
and may result in mutually recursive definitions.
Variants§
Simple(Vec<Cte<T>>)
MutuallyRecursive(MutRecBlock<T>)
Implementations§
Trait Implementations§
source§impl<T: AstInfo> AstDisplay for CteBlock<T>
impl<T: AstInfo> AstDisplay for CteBlock<T>
fn fmt<W: Write>(&self, f: &mut AstFormatter<W>)
fn to_ast_string(&self) -> String
fn to_ast_string_stable(&self) -> String
fn to_ast_string_redacted(&self) -> String
source§impl<T: Ord + AstInfo> Ord for CteBlock<T>
impl<T: Ord + AstInfo> Ord for CteBlock<T>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<T: PartialOrd + AstInfo> PartialOrd for CteBlock<T>
impl<T: PartialOrd + AstInfo> PartialOrd for CteBlock<T>
source§impl<'ast, T: AstInfo> VisitMutNode<'ast, T> for CteBlock<T>
impl<'ast, T: AstInfo> VisitMutNode<'ast, T> for CteBlock<T>
impl<T: Eq + AstInfo> Eq for CteBlock<T>
impl<T: AstInfo> StructuralPartialEq for CteBlock<T>
Auto Trait Implementations§
impl<T> Freeze for CteBlock<T>
impl<T> RefUnwindSafe for CteBlock<T>where
<T as AstInfo>::CteId: RefUnwindSafe,
<T as AstInfo>::ItemName: RefUnwindSafe,
<T as AstInfo>::DataType: RefUnwindSafe,
<T as AstInfo>::ClusterName: RefUnwindSafe,
<T as AstInfo>::SchemaName: RefUnwindSafe,
<T as AstInfo>::DatabaseName: RefUnwindSafe,
<T as AstInfo>::RoleName: RefUnwindSafe,
impl<T> Send for CteBlock<T>
impl<T> Sync for CteBlock<T>
impl<T> Unpin for CteBlock<T>
impl<T> UnwindSafe for CteBlock<T>where
<T as AstInfo>::CteId: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::ItemName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::DataType: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::ClusterName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::SchemaName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::DatabaseName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::RoleName: UnwindSafe + RefUnwindSafe,
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request