Enum mz_sql_parser::ast::defs::statement::TableFromSourceColumns
source · pub enum TableFromSourceColumns<T: AstInfo> {
NotSpecified,
Named(Vec<Ident>),
Defined(Vec<ColumnDef<T>>),
}
Expand description
CREATE TABLE .. FROM SOURCE
columns specification
can have 3 states:
Before purification they can be NotSpecified
or Named
by the user to specify the column names to use.
After purification they can be in any of the 3 states.
For some source types we define the columns during purification
and for others the columns are defined during planning based
on the encoding option of the source.
Variants§
NotSpecified
The user did not specify which columns to use.
Named(Vec<Ident>)
The user requested the named columns. Only compatible with source types that allow user-specified column names.
Defined(Vec<ColumnDef<T>>)
Columns defined during purification for some source types.
Trait Implementations§
source§impl<T: Clone + AstInfo> Clone for TableFromSourceColumns<T>
impl<T: Clone + AstInfo> Clone for TableFromSourceColumns<T>
source§fn clone(&self) -> TableFromSourceColumns<T>
fn clone(&self) -> TableFromSourceColumns<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'ast, T: AstInfo> VisitMutNode<'ast, T> for TableFromSourceColumns<T>
impl<'ast, T: AstInfo> VisitMutNode<'ast, T> for TableFromSourceColumns<T>
source§impl<'ast, T: AstInfo> VisitNode<'ast, T> for TableFromSourceColumns<T>
impl<'ast, T: AstInfo> VisitNode<'ast, T> for TableFromSourceColumns<T>
impl<T: Eq + AstInfo> Eq for TableFromSourceColumns<T>
impl<T: AstInfo> StructuralPartialEq for TableFromSourceColumns<T>
Auto Trait Implementations§
impl<T> Freeze for TableFromSourceColumns<T>
impl<T> RefUnwindSafe for TableFromSourceColumns<T>where
<T as AstInfo>::DataType: RefUnwindSafe,
<T as AstInfo>::ItemName: RefUnwindSafe,
<T as AstInfo>::ClusterName: RefUnwindSafe,
<T as AstInfo>::SchemaName: RefUnwindSafe,
<T as AstInfo>::DatabaseName: RefUnwindSafe,
<T as AstInfo>::RoleName: RefUnwindSafe,
<T as AstInfo>::CteId: RefUnwindSafe,
impl<T> Send for TableFromSourceColumns<T>
impl<T> Sync for TableFromSourceColumns<T>
impl<T> Unpin for TableFromSourceColumns<T>
impl<T> UnwindSafe for TableFromSourceColumns<T>where
<T as AstInfo>::DataType: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::ItemName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::ClusterName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::SchemaName: UnwindSafe + RefUnwindSafe,
<T as AstInfo>::CteId: 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> 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<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