pub struct OrderBySpec {
pub columns: Vec<OrderByColumn>,
}Expand description
Full ORDER BY specification
Fields§
§columns: Vec<OrderByColumn>Columns to sort by (in order of priority)
Implementations§
Source§impl OrderBySpec
impl OrderBySpec
Sourcepub fn single(column: ColumnRef, direction: SortDirection) -> Self
pub fn single(column: ColumnRef, direction: SortDirection) -> Self
Create from a single column
Sourcepub fn then_by(self, column: ColumnRef, direction: SortDirection) -> Self
pub fn then_by(self, column: ColumnRef, direction: SortDirection) -> Self
Add another column to the sort
Sourcepub fn comparator(
&self,
column_names: &[String],
) -> impl Fn(&SochRow, &SochRow) -> Ordering
pub fn comparator( &self, column_names: &[String], ) -> impl Fn(&SochRow, &SochRow) -> Ordering
Create a comparator function for rows
Sourcepub fn matches_index(&self, index_columns: &[(String, SortDirection)]) -> bool
pub fn matches_index(&self, index_columns: &[(String, SortDirection)]) -> bool
Check if an index matches this ORDER BY spec
Trait Implementations§
Source§impl Clone for OrderBySpec
impl Clone for OrderBySpec
Source§fn clone(&self) -> OrderBySpec
fn clone(&self) -> OrderBySpec
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 moreAuto Trait Implementations§
impl Freeze for OrderBySpec
impl RefUnwindSafe for OrderBySpec
impl Send for OrderBySpec
impl Sync for OrderBySpec
impl Unpin for OrderBySpec
impl UnsafeUnpin for OrderBySpec
impl UnwindSafe for OrderBySpec
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> 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