pub struct LogicalType {
pub nullable: bool,
pub kind: LogicalTypeKind,
}Expand description
Cross-language logical type, including nullability at every nesting level.
Fields§
§nullable: bool§kind: LogicalTypeKindImplementations§
Source§impl LogicalType
impl LogicalType
pub fn boolean() -> Self
pub fn int8() -> Self
pub fn int16() -> Self
pub fn int32() -> Self
pub fn int64() -> Self
pub fn float32() -> Self
pub fn float64() -> Self
pub fn decimal(precision: u8, scale: u8) -> Self
pub fn date() -> Self
pub fn time(precision: u8) -> Self
pub fn timestamp(precision: u8, timestamp_kind: TimestampKind) -> Self
pub fn string() -> Self
pub fn binary() -> Self
pub fn list(element_type: LogicalType) -> Self
pub fn map(key_type: LogicalType, value_type: LogicalType) -> Self
pub fn struct_type(fields: Vec<DataField>) -> Self
Sourcepub fn struct_from_fields<I, N>(fields: I) -> Result<Self>
pub fn struct_from_fields<I, N>(fields: I) -> Result<Self>
Build a fresh struct type without requiring callers to assign field ids.
The assigned ids are local to this type and are renumbered again when
the type is included in a crate::TableSchemaBuilder. Use
Self::struct_type with explicit FieldId values only when
restoring or constructing an already identified schema.
pub fn extension(extension: ExtensionType) -> Self
pub fn nullable(self) -> Self
pub fn not_null(self) -> Self
Trait Implementations§
Source§impl Clone for LogicalType
impl Clone for LogicalType
Source§impl Debug for LogicalType
impl Debug for LogicalType
Source§impl<'de> Deserialize<'de> for LogicalType
impl<'de> Deserialize<'de> for LogicalType
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for LogicalType
Source§impl PartialEq for LogicalType
impl PartialEq for LogicalType
Source§impl Serialize for LogicalType
impl Serialize for LogicalType
impl StructuralPartialEq for LogicalType
Auto Trait Implementations§
impl Freeze for LogicalType
impl RefUnwindSafe for LogicalType
impl Send for LogicalType
impl Sync for LogicalType
impl Unpin for LogicalType
impl UnsafeUnpin for LogicalType
impl UnwindSafe for LogicalType
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DebugAny for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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> ⓘ
Converts
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> ⓘ
Converts
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