pub enum ColumnType {
Show 18 variants
Int64,
Float64,
String,
Bool,
Bytes,
Timestamp,
Decimal,
Geometry,
Vector(u32),
Uuid,
Json,
Ulid,
Duration,
Array,
Set,
Regex,
Range,
Record,
}Expand description
Typed column definition for strict document and columnar collections.
Variants§
Int64
Float64
String
Bool
Bytes
Timestamp
Decimal
Geometry
Vector(u32)
Fixed-dimension float32 vector.
Uuid
Json
Arbitrary nested data stored as inline MessagePack. Variable-length. Accepts any Value type.
Ulid
ULID: 16-byte Crockford Base32-encoded sortable ID.
Duration
Duration: signed microsecond precision (i64 internally).
Array
Ordered array of values. Variable-length, inline MessagePack.
Set
Ordered set (auto-deduplicated). Variable-length, inline MessagePack.
Regex
Compiled regex pattern. Stored as string internally.
Range
Bounded range of values. Variable-length, inline MessagePack.
Record
Typed reference to another record (table:id). Variable-length, inline MessagePack.
Implementations§
Source§impl ColumnType
impl ColumnType
Sourcepub fn fixed_size(&self) -> Option<usize>
pub fn fixed_size(&self) -> Option<usize>
Whether this type has a fixed byte size in Binary Tuple layout.
Sourcepub fn is_variable_length(&self) -> bool
pub fn is_variable_length(&self) -> bool
Whether this type is variable-length (requires offset table entry).
Sourcepub fn accepts(&self, value: &Value) -> bool
pub fn accepts(&self, value: &Value) -> bool
Whether a Value is compatible with this column type.
Accepts both native Value types (e.g., Value::DateTime for Timestamp)
AND coercion sources from SQL input (e.g., Value::String for Timestamp).
Null is accepted for any type — nullability is enforced at schema level.
Trait Implementations§
Source§impl Clone for ColumnType
impl Clone for ColumnType
Source§fn clone(&self) -> ColumnType
fn clone(&self) -> ColumnType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ColumnType
impl Debug for ColumnType
Source§impl<'de> Deserialize<'de> for ColumnType
impl<'de> Deserialize<'de> for ColumnType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for ColumnType
impl Display for ColumnType
Source§impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnType
impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnType
Source§impl FromStr for ColumnType
impl FromStr for ColumnType
Source§impl Hash for ColumnType
impl Hash for ColumnType
Source§impl PartialEq for ColumnType
impl PartialEq for ColumnType
Source§impl Serialize for ColumnType
impl Serialize for ColumnType
Source§impl ToMessagePack for ColumnType
impl ToMessagePack for ColumnType
impl Eq for ColumnType
impl StructuralPartialEq for ColumnType
Auto Trait Implementations§
impl Freeze for ColumnType
impl RefUnwindSafe for ColumnType
impl Send for ColumnType
impl Sync for ColumnType
impl Unpin for ColumnType
impl UnsafeUnpin for ColumnType
impl UnwindSafe for ColumnType
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§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.