#[non_exhaustive]pub enum RawIndexAlgorithm {
BTree {
columns: ColList,
},
Hash {
columns: ColList,
},
Direct {
column: ColId,
},
}Expand description
Data specifying an index algorithm. New fields MUST be added to the END of this enum, to maintain ABI compatibility.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
BTree
Implemented using a B-Tree.
Currently, this uses a rust std::collections::BTreeMap.
Hash
Currently forbidden.
Direct
Implemented using direct indexing in list(s) of RowPointers.
The column this is placed on must also have a unique constraint.
Trait Implementations§
Source§impl Clone for RawIndexAlgorithm
impl Clone for RawIndexAlgorithm
Source§fn clone(&self) -> RawIndexAlgorithm
fn clone(&self) -> RawIndexAlgorithm
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RawIndexAlgorithm
impl Debug for RawIndexAlgorithm
Source§impl<'de> Deserialize<'de> for RawIndexAlgorithm
impl<'de> Deserialize<'de> for RawIndexAlgorithm
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given
deserializer.Source§impl Serialize for RawIndexAlgorithm
impl Serialize for RawIndexAlgorithm
Source§impl SpacetimeType for RawIndexAlgorithm
impl SpacetimeType for RawIndexAlgorithm
Source§fn make_type<S: TypespaceBuilder>(__typespace: &mut S) -> AlgebraicType
fn make_type<S: TypespaceBuilder>(__typespace: &mut S) -> AlgebraicType
Returns an
AlgebraicType representing the type for Self in SATS
and in the typing context in typespace. This is used by the
automatic type registration system in Rust modules. Read moreAuto Trait Implementations§
impl Freeze for RawIndexAlgorithm
impl RefUnwindSafe for RawIndexAlgorithm
impl Send for RawIndexAlgorithm
impl Sync for RawIndexAlgorithm
impl Unpin for RawIndexAlgorithm
impl UnwindSafe for RawIndexAlgorithm
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Satn for T
impl<T> Satn for T
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the SATN data format into the formatter
f.Source§fn fmt_psql(
&self,
f: &mut Formatter<'_>,
ty: &PsqlType<'_>,
) -> Result<(), Error>
fn fmt_psql( &self, f: &mut Formatter<'_>, ty: &PsqlType<'_>, ) -> Result<(), Error>
Formats the value using the postgres SATN(PsqlFormatter { f }, /* PsqlType */) formatter
f.Source§fn to_satn(&self) -> String
fn to_satn(&self) -> String
Formats the value using the SATN data format into the returned
String.Source§fn to_satn_pretty(&self) -> String
fn to_satn_pretty(&self) -> String
Pretty prints the value using the SATN data format into the returned
String.