#[non_exhaustive]pub enum ColumnType<'frame> {
Native(NativeType),
Collection {
frozen: bool,
typ: CollectionType<'frame>,
},
Vector {
typ: Box<ColumnType<'frame>>,
dimensions: u16,
},
UserDefinedType {
frozen: bool,
definition: Arc<UserDefinedType<'frame>>,
},
Tuple(Vec<ColumnType<'frame>>),
}
Expand description
A type of:
- a column in schema metadata
- a bind marker in a prepared statement
- a column a in query result set
Some of the variants contain a frozen
flag. This flag is only used
in schema metadata. For prepared statement bind markers and query result
types those fields will always be set to false
(even if the DB column
corresponding to given marker / result type is frozen).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Native(NativeType)
Types that are “simple” (non-recursive).
Collection
Collection types: Map, Set, and List. Those are composite types with dynamic size but constant predefined element types.
Vector
A composite list-like type that has a defined size and all its elements are of the same type. Intuitively, it can be viewed as a list with constant predefined size, or as a tuple which has all elements of the same type.
UserDefinedType
A C-struct-like type defined by the user.
Tuple(Vec<ColumnType<'frame>>)
A composite type with a defined size and elements of possibly different, but predefined, types.
Implementations§
Source§impl ColumnType<'_>
impl ColumnType<'_>
pub fn into_owned(self) -> ColumnType<'static>
Trait Implementations§
Source§impl<'frame> Clone for ColumnType<'frame>
impl<'frame> Clone for ColumnType<'frame>
Source§fn clone(&self) -> ColumnType<'frame>
fn clone(&self) -> ColumnType<'frame>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'frame> Debug for ColumnType<'frame>
impl<'frame> Debug for ColumnType<'frame>
Source§impl<'frame> PartialEq for ColumnType<'frame>
impl<'frame> PartialEq for ColumnType<'frame>
impl<'frame> Eq for ColumnType<'frame>
impl<'frame> StructuralPartialEq for ColumnType<'frame>
Auto Trait Implementations§
impl<'frame> Freeze for ColumnType<'frame>
impl<'frame> RefUnwindSafe for ColumnType<'frame>
impl<'frame> Send for ColumnType<'frame>
impl<'frame> Sync for ColumnType<'frame>
impl<'frame> Unpin for ColumnType<'frame>
impl<'frame> UnwindSafe for ColumnType<'frame>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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