Enum proof_of_sql::base::commitment::ColumnBounds
source · pub enum ColumnBounds {
NoOrder,
SmallInt(Bounds<i16>),
Int(Bounds<i32>),
BigInt(Bounds<i64>),
Int128(Bounds<i128>),
TimestampTZ(Bounds<i64>),
}
Expand description
Column metadata storing the bounds for column types that have order.
Other Ord column variants do exist (like Scalar/Boolean). However, bounding these is useless unless we are performing indexing on these columns. This functionality only be considered after we support them in the user-facing sql.
Variants§
NoOrder
Column does not have order.
SmallInt(Bounds<i16>)
The bounds of a SmallInt column.
Int(Bounds<i32>)
The bounds of an Int column.
BigInt(Bounds<i64>)
The bounds of a BigInt column.
Int128(Bounds<i128>)
The bounds of an Int128 column.
TimestampTZ(Bounds<i64>)
The bounds of a Timestamp column.
Implementations§
source§impl ColumnBounds
impl ColumnBounds
sourcepub fn from_column(column: &CommittableColumn<'_>) -> ColumnBounds
pub fn from_column(column: &CommittableColumn<'_>) -> ColumnBounds
Construct a ColumnBounds
from a column by reference.
If the column variant has order, only the minimum and maximum value will be copied.
sourcepub fn try_union(self, other: Self) -> Result<Self, ColumnBoundsMismatch>
pub fn try_union(self, other: Self) -> Result<Self, ColumnBoundsMismatch>
Combine two ColumnBounds
as if their source collections are being unioned.
Can error if the two values do not share the same ColumnBounds
variant.
sourcepub fn try_difference(self, other: Self) -> Result<Self, ColumnBoundsMismatch>
pub fn try_difference(self, other: Self) -> Result<Self, ColumnBoundsMismatch>
Combine two ColumnBounds
as if their source collections are being differenced.
This should be interpreted as the set difference of the two collections. The result would be the rows in self that are not also rows in other.
Trait Implementations§
source§impl Clone for ColumnBounds
impl Clone for ColumnBounds
source§fn clone(&self) -> ColumnBounds
fn clone(&self) -> ColumnBounds
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ColumnBounds
impl Debug for ColumnBounds
source§impl<'de> Deserialize<'de> for ColumnBounds
impl<'de> Deserialize<'de> for ColumnBounds
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 PartialEq for ColumnBounds
impl PartialEq for ColumnBounds
source§impl Serialize for ColumnBounds
impl Serialize for ColumnBounds
impl Copy for ColumnBounds
impl Eq for ColumnBounds
impl StructuralPartialEq for ColumnBounds
Auto Trait Implementations§
impl Freeze for ColumnBounds
impl RefUnwindSafe for ColumnBounds
impl Send for ColumnBounds
impl Sync for ColumnBounds
impl Unpin for ColumnBounds
impl UnwindSafe for ColumnBounds
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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§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
key
and return true
if they are equal.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 more