pub struct Index {
pub name: String,
pub table: String,
pub columns: Vec<String>,
pub index_type: IndexType,
pub statistics: IndexStatistics,
pub is_unique: bool,
pub is_primary: bool,
}Expand description
Index metadata.
Fields§
§name: StringIndex name.
table: StringTable name.
columns: Vec<String>Indexed columns.
index_type: IndexTypeIndex type.
statistics: IndexStatisticsIndex statistics.
is_unique: boolWhether the index is unique.
is_primary: boolWhether the index is primary key.
Implementations§
Source§impl Index
impl Index
Sourcepub fn new(
name: String,
table: String,
columns: Vec<String>,
index_type: IndexType,
statistics: IndexStatistics,
) -> Self
pub fn new( name: String, table: String, columns: Vec<String>, index_type: IndexType, statistics: IndexStatistics, ) -> Self
Create a new index.
Sourcepub fn with_unique(self) -> Self
pub fn with_unique(self) -> Self
Mark as unique index.
Sourcepub fn with_primary(self) -> Self
pub fn with_primary(self) -> Self
Mark as primary key.
Sourcepub fn covers_columns(&self, columns: &[String]) -> bool
pub fn covers_columns(&self, columns: &[String]) -> bool
Check if index covers columns.
Sourcepub fn supports_prefix(&self, columns: &[String]) -> bool
pub fn supports_prefix(&self, columns: &[String]) -> bool
Check if index can be used for prefix match.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Index
impl<'de> Deserialize<'de> for Index
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
Auto Trait Implementations§
impl Freeze for Index
impl RefUnwindSafe for Index
impl Send for Index
impl Sync for Index
impl Unpin for Index
impl UnsafeUnpin for Index
impl UnwindSafe for Index
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 more