pub enum PrimitiveLiteral {
Boolean(bool),
Int(i32),
Long(i64),
Float(OrderedFloat<f32>),
Double(OrderedFloat<f64>),
String(String),
Binary(Vec<u8>),
Int128(i128),
UInt128(u128),
AboveMax,
BelowMin,
}Expand description
Values present in iceberg type
Float and Double compare as Java’s Float.compare and Double.compare do: -0.0 is
less than 0.0, and every NaN is the same value, greater than all others. iceberg-java
compares partition values this way, so -0.0 and 0.0 are different partitions. The
spec states the same rule: floating point
partition values are equal if their IEEE 754 bit layouts are equal, with NaNs normalized.
Variants§
Boolean(bool)
0x00 for false, non-zero byte for true
Int(i32)
Stored as 4-byte little-endian
Long(i64)
Stored as 8-byte little-endian
Float(OrderedFloat<f32>)
Stored as 4-byte little-endian
Double(OrderedFloat<f64>)
Stored as 8-byte little-endian
String(String)
UTF-8 bytes (without length)
Binary(Vec<u8>)
Binary value (without length)
Int128(i128)
Stored as 16-byte big-endian
UInt128(u128)
Stored as 16-byte big-endian
AboveMax
When a number is larger than it can hold
BelowMin
When a number is smaller than it can hold
Implementations§
Trait Implementations§
Source§impl Clone for PrimitiveLiteral
impl Clone for PrimitiveLiteral
Source§fn clone(&self) -> PrimitiveLiteral
fn clone(&self) -> PrimitiveLiteral
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrimitiveLiteral
impl Debug for PrimitiveLiteral
Source§impl From<Datum> for PrimitiveLiteral
impl From<Datum> for PrimitiveLiteral
Source§impl Hash for PrimitiveLiteral
impl Hash for PrimitiveLiteral
Source§impl PartialEq for PrimitiveLiteral
impl PartialEq for PrimitiveLiteral
Source§impl PartialOrd for PrimitiveLiteral
impl PartialOrd for PrimitiveLiteral
impl Eq for PrimitiveLiteral
Auto Trait Implementations§
impl Freeze for PrimitiveLiteral
impl RefUnwindSafe for PrimitiveLiteral
impl Send for PrimitiveLiteral
impl Sync for PrimitiveLiteral
impl Unpin for PrimitiveLiteral
impl UnsafeUnpin for PrimitiveLiteral
impl UnwindSafe for PrimitiveLiteral
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more