pub enum PageRequest {
Cursor {
after: Option<String>,
limit: i64,
},
Offset {
offset: i64,
limit: i64,
},
}Expand description
Request parameters for pagination.
Variants§
Cursor
Cursor-based: fetch limit rows after the given cursor (base64-encoded id).
Offset
Offset-based: skip offset rows, fetch limit rows.
Implementations§
Source§impl PageRequest
impl PageRequest
Source§impl PageRequest
impl PageRequest
Sourcepub fn apply_cursor_to_sql(
&self,
sql: &mut String,
has_where: bool,
param_offset: usize,
) -> usize
pub fn apply_cursor_to_sql( &self, sql: &mut String, has_where: bool, param_offset: usize, ) -> usize
Appends cursor pagination clauses to the SQL string.
For cursor pagination, adds WHERE "id" > $N ORDER BY "id" ASC LIMIT N+1
(fetches one extra row to determine has_more).
Returns the new parameter offset.
Trait Implementations§
Source§impl Clone for PageRequest
impl Clone for PageRequest
Source§fn clone(&self) -> PageRequest
fn clone(&self) -> PageRequest
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 PageRequest
impl RefUnwindSafe for PageRequest
impl Send for PageRequest
impl Sync for PageRequest
impl Unpin for PageRequest
impl UnsafeUnpin for PageRequest
impl UnwindSafe for PageRequest
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request