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: SeaRc<dyn Iden>,
order_columns: C,
) -> Cursor<S>where
C: IntoIdentity,
pub fn new<C>(
query: SelectStatement,
table: SeaRc<dyn Iden>,
order_columns: C,
) -> Cursor<S>where
C: IntoIdentity,
Create a new cursor
Sourcepub fn before<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
pub fn before<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
Filter paginated result with corresponding column less than the input value
Sourcepub fn after<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
pub fn after<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
Filter paginated result with corresponding column greater than the input value
Sourcepub fn first(&mut self, num_rows: u64) -> &mut Cursor<S>
pub fn first(&mut self, num_rows: u64) -> &mut Cursor<S>
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 Cursor<S>
pub fn last(&mut self, num_rows: u64) -> &mut Cursor<S>
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 as SelectorTrait>::Item>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(
&mut self,
db: &C,
) -> Result<Vec<<S as SelectorTrait>::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
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,
Source§fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Source§fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
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,
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
Source§fn select_only(self) -> Self
fn select_only(self) -> Self
Source§fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
Source§fn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: ColumnAsExpr,
I: IntoIdentity,
fn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: ColumnAsExpr,
I: IntoIdentity,
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>,
Source§fn offset<T>(self, offset: T) -> Self
fn offset<T>(self, offset: T) -> Self
Source§fn limit<T>(self, limit: T) -> Self
fn limit<T>(self, limit: T) -> Self
Source§fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Source§fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
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>,
sqlx-postgres Read moreSource§fn join(self, join: JoinType, rel: RelationDef) -> Self
fn join(self, join: JoinType, rel: RelationDef) -> Self
RelationDef.Source§fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
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,
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,
RelationDef with table alias but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.Source§fn lock_exclusive(self) -> Self
fn lock_exclusive(self) -> Self
Source§fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
Source§fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
Source§fn exprs<T, I>(self, exprs: I) -> Self
fn exprs<T, I>(self, exprs: I) -> Self
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
expr_as. Here for legacy reasons. Read moreSource§fn tbl_col_as<T, C, A>(self, _: (T, C), alias: A) -> Self
fn tbl_col_as<T, C, A>(self, _: (T, C), alias: A) -> Self
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
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> ⓘ
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> ⓘ
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);