pub struct Cursor<S>where
S: SelectorTrait,{ /* private fields */ }Expand description
Cursor pagination
Implementationsยง
sourceยงimpl<S> Cursor<S>where
S: SelectorTrait,
impl<S> Cursor<S>where
S: SelectorTrait,
sourcepub fn new<C>(query: SelectStatement, table: DynIden, order_columns: C) -> Selfwhere
C: IntoIdentity,
pub fn new<C>(query: SelectStatement, table: DynIden, order_columns: C) -> Selfwhere
C: IntoIdentity,
Create a new cursor
sourcepub fn before<V>(&mut self, values: V) -> &mut Selfwhere
V: IntoValueTuple,
pub fn before<V>(&mut self, values: V) -> &mut Selfwhere
V: IntoValueTuple,
Filter paginated result with corresponding column less than the input value
sourcepub fn after<V>(&mut self, values: V) -> &mut Selfwhere
V: IntoValueTuple,
pub fn after<V>(&mut self, values: V) -> &mut Selfwhere
V: IntoValueTuple,
Filter paginated result with corresponding column greater than the input value
sourcepub fn first(&mut self, num_rows: u64) -> &mut Self
pub fn first(&mut self, num_rows: u64) -> &mut Self
Limit result set to only first N rows in ascending order of the order by column
sourcepub fn last(&mut self, num_rows: u64) -> &mut Self
pub fn last(&mut self, num_rows: u64) -> &mut Self
Limit result set to only last N rows in ascending order of the order by column
sourcepub async fn all<C>(&mut self, db: &C) -> Result<Vec<S::Item>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(&mut self, db: &C) -> Result<Vec<S::Item>, DbErr>where
C: ConnectionTrait,
Fetch the paginated result
sourcepub fn into_model<M>(self) -> Cursor<SelectModel<M>>where
M: FromQueryResult,
pub fn into_model<M>(self) -> Cursor<SelectModel<M>>where
M: FromQueryResult,
Construct a Cursor that fetch any custom struct
sourcepub fn into_partial_model<M>(self) -> Cursor<SelectModel<M>>where
M: PartialModelTrait,
pub fn into_partial_model<M>(self) -> Cursor<SelectModel<M>>where
M: PartialModelTrait,
Return a [Selector] from Self that wraps a SelectModel with a PartialModel
Trait Implementationsยง
sourceยงimpl<S> QueryOrder for Cursor<S>where
S: SelectorTrait,
impl<S> QueryOrder for Cursor<S>where
S: SelectorTrait,
type QueryStatement = SelectStatement
sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the query to perform an ORDER BY operation
sourceยงfn order_by<C>(self, col: C, ord: Order) -> Selfwhere
C: IntoSimpleExpr,
fn order_by<C>(self, col: C, ord: Order) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression Read more
sourceยงfn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression (ascending) Read more
sourceยงfn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression (descending) Read more
sourceยงfn order_by_with_nulls<C>(self, col: C, ord: Order, nulls: NullOrdering) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_with_nulls<C>(self, col: C, ord: Order, nulls: NullOrdering) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression with nulls ordering option Read more
sourceยงimpl<S> QuerySelect for Cursor<S>where
S: SelectorTrait,
impl<S> QuerySelect for Cursor<S>where
S: SelectorTrait,
type QueryStatement = SelectStatement
sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the select SQL statement
sourceยงfn select_only(self) -> Self
fn select_only(self) -> Self
Clear the selection list
sourceยงfn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
Add a select column Read more
sourceยงfn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: IntoSimpleExpr,
I: IntoIdentity,
fn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: IntoSimpleExpr,
I: IntoIdentity,
Add a select column with alias Read more
sourceยงfn columns<C, I>(self, cols: I) -> Selfwhere
C: ColumnTrait,
I: IntoIterator<Item = C>,
fn columns<C, I>(self, cols: I) -> Selfwhere
C: ColumnTrait,
I: IntoIterator<Item = C>,
Select columns Read more
sourceยงfn offset<T>(self, offset: T) -> Self
fn offset<T>(self, offset: T) -> Self
Add an offset expression. Passing in None would remove the offset. Read more
sourceยงfn limit<T>(self, limit: T) -> Self
fn limit<T>(self, limit: T) -> Self
Add a limit expression. Passing in None would remove the limit. Read more
sourceยงfn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add a group by column Read more
sourceยงfn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
Add an AND HAVING expression Read more
sourceยงfn distinct_on<T, I>(self, cols: I) -> Selfwhere
T: IntoColumnRef,
I: IntoIterator<Item = T>,
fn distinct_on<T, I>(self, cols: I) -> Selfwhere
T: IntoColumnRef,
I: IntoIterator<Item = T>,
Add a DISTINCT ON expression
NOTE: this function is only supported by
sqlx-postgres Read moresourceยงfn join(self, join: JoinType, rel: RelationDef) -> Self
fn join(self, join: JoinType, rel: RelationDef) -> Self
Join via
RelationDef.sourceยงfn join_rev(self, join: JoinType, rel: RelationDef) -> Self
fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
Join via
RelationDef but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.sourceยงfn join_as<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
fn join_as<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
Join via
RelationDef with table alias.sourceยงfn join_as_rev<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
fn join_as_rev<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
Join via
RelationDef with table alias but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.Select lock shared
sourceยงfn lock_exclusive(self) -> Self
fn lock_exclusive(self) -> Self
Select lock exclusive
sourceยงfn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
Row locking with behavior (if supported). Read more
sourceยงfn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
Add an expression to the select expression list. Read more
sourceยงfn exprs<T, I>(self, exprs: I) -> Self
fn exprs<T, I>(self, exprs: I) -> Self
Add select expressions from vector of
SelectExpr. Read moresourceยงfn expr_as_<T, A>(self, expr: T, alias: A) -> Self
fn expr_as_<T, A>(self, expr: T, alias: A) -> Self
Same as
expr_as. Here for legacy reasons. Read moresourceยงfn tbl_col_as<T, C, A>(self, (tbl, col): (T, C), alias: A) -> Self
fn tbl_col_as<T, C, A>(self, (tbl, col): (T, C), alias: A) -> Self
Shorthand of
expr_as(Expr::col((T, C)), A). Read moreAuto Trait Implementationsยง
impl<S> Freeze for Cursor<S>
impl<S> !RefUnwindSafe for Cursor<S>
impl<S> Send for Cursor<S>where
S: Send,
impl<S> Sync for Cursor<S>where
S: Sync,
impl<S> Unpin for Cursor<S>where
S: Unpin,
impl<S> !UnwindSafe for Cursor<S>
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ยงdefault unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
๐ฌThis is a nightly-only experimental API. (
clone_to_uninit)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<S> SelectColumns for Swhere
S: QuerySelect,
impl<S> SelectColumns for Swhere
S: QuerySelect,
sourceยงfn select_column<C>(self, col: C) -> Swhere
C: ColumnTrait,
fn select_column<C>(self, col: C) -> Swhere
C: ColumnTrait,
Add a select column Read more
sourceยงfn select_column_as<C, I>(self, col: C, alias: I) -> Swhere
C: IntoSimpleExpr,
I: IntoIdentity,
fn select_column_as<C, I>(self, col: C, alias: I) -> Swhere
C: IntoSimpleExpr,
I: IntoIdentity,
Add a select column with alias Read more