Skip to main content

KeysetPlan

Struct KeysetPlan 

Source
pub struct KeysetPlan<'a> {
    pub cursor: &'a Cursor,
    pub sort: SortDirection,
    pub query_sort: SortDirection,
}
Expand description

How a request carrying a cursor is executed.

Keyset pagination selects the rows on the far side of the cursor and takes the nearest per_page of them. For an After cursor that is the natural sort order. For a Before cursor the query runs in the reversed order so that LIMIT picks the rows closest to the cursor, and the page is flipped back into the caller’s order afterwards (see PaginatorResponseMeta::from_cursor_page).

Fields§

§cursor: &'a Cursor§sort: SortDirection

The order the caller wants rows in: sort_direction, ascending by default.

§query_sort: SortDirection

The order to put in the query. Equal to sort for After cursors and reversed for Before cursors.

Implementations§

Source§

impl<'a> KeysetPlan<'a>

Source

pub fn field(&self) -> &'a str

Source

pub fn value(&self) -> &'a CursorValue

Source

pub fn operator(&self) -> &'static str

The comparison that selects rows on the far side of the cursor in query order: > when the query sorts ascending, < when descending.

Source

pub fn reverse_rows(&self) -> bool

Whether the fetched rows must be reversed to restore the caller’s order.

Trait Implementations§

Source§

impl<'a> Clone for KeysetPlan<'a>

Source§

fn clone(&self) -> KeysetPlan<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for KeysetPlan<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> PartialEq for KeysetPlan<'a>

Source§

fn eq(&self, other: &KeysetPlan<'a>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'a> StructuralPartialEq for KeysetPlan<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for KeysetPlan<'a>

§

impl<'a> RefUnwindSafe for KeysetPlan<'a>

§

impl<'a> Send for KeysetPlan<'a>

§

impl<'a> Sync for KeysetPlan<'a>

§

impl<'a> Unpin for KeysetPlan<'a>

§

impl<'a> UnsafeUnpin for KeysetPlan<'a>

§

impl<'a> UnwindSafe for KeysetPlan<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.