pub enum SimpleType {
Show 22 variants
Int,
Float,
String,
Bool,
Bytes,
Timestamp,
Timestamptz,
SystemTimestamp,
Decimal(Option<DecimalTypmod>),
Uuid,
Ulid,
Geometry,
Duration,
Array,
Object,
Json,
Set,
Regex,
Range,
Record,
Vector(u32),
SparseVector,
}Expand description
Leaf type variants that map to a single Value discriminant.
Every variant except SimpleType::Object names one
ColumnType, so a spelling resolves
to the same type here and in the CONVERT path.
Variants§
Int
Float
String
Bool
Bytes
Timestamp
Timestamptz
SystemTimestamp
Engine-assigned instant. Matching mirrors
ColumnType::SystemTimestamp: a client writes an instant, never text.
Decimal(Option<DecimalTypmod>)
The declared typmod, None for a plain DECIMAL.
Matching is variant-level, as it is for SimpleType::Vector.
Uuid
Ulid
Geometry
Duration
Array
Untyped array (any element type).
Object
Typeguard-only leaf: a field holding a nested map. No declared DDL
spelling names it, and CONVERT maps such a field to ColumnType::Json.
Json
Set
Untyped set (any element type).
Regex
Range
Record
Vector(u32)
Fixed-dimension float32 vector.
SparseVector
Dimensionless sparse vector — a '{id: weight}' string literal. Unlike
Vector(u32) it takes no (N); the sparse index carries no dimension.
Trait Implementations§
Source§impl Clone for SimpleType
impl Clone for SimpleType
Source§impl Debug for SimpleType
impl Debug for SimpleType
Source§impl PartialEq for SimpleType
impl PartialEq for SimpleType
impl StructuralPartialEq for SimpleType
Auto Trait Implementations§
impl Freeze for SimpleType
impl RefUnwindSafe for SimpleType
impl Send for SimpleType
impl Sync for SimpleType
impl Unpin for SimpleType
impl UnsafeUnpin for SimpleType
impl UnwindSafe for SimpleType
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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> 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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.