pub struct PartialRow<'a, R> { /* private fields */ }
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Expand description
A row type that wraps an inner row
This type only allows to access fields of the inner row, whose index is
part of range
. This type is used by diesel internally to implement
FromStaticSqlRow
.
Indexing via usize
starts with 0 for this row type. The index is then shifted
by self.range.start
to match the corresponding field in the underlying row.
Implementations§
Source§impl<'a, R> PartialRow<'a, R>
impl<'a, R> PartialRow<'a, R>
Sourcepub fn new<'b, DB>(inner: &'a R, range: Range<usize>) -> Self
pub fn new<'b, DB>(inner: &'a R, range: Range<usize>) -> Self
Create a new PartialRow
instance based on an inner
row and a range of field that should be part of the constructed
wrapper.
See the documentation of PartialRow
for details.
Trait Implementations§
Source§impl<'a, R: Debug> Debug for PartialRow<'a, R>
impl<'a, R: Debug> Debug for PartialRow<'a, R>
Source§impl<'a, DB, R> Row<'a, DB> for PartialRow<'_, R>
impl<'a, DB, R> Row<'a, DB> for PartialRow<'_, R>
Source§type Field<'f> = <R as Row<'a, DB>>::Field<'f>
where
R: 'f,
Self: 'f,
'a: 'f
type Field<'f> = <R as Row<'a, DB>>::Field<'f> where R: 'f, Self: 'f, 'a: 'f
Field type returned by a
Row
implementation Read moreSource§type InnerPartialRow = R
type InnerPartialRow = R
Return type of
PartialRow
Read moreSource§fn field_count(&self) -> usize
fn field_count(&self) -> usize
Get the number of fields in the current row
Source§fn get<'c, I>(&'c self, idx: I) -> Option<Self::Field<'c>>where
Self: RowIndex<I>,
'a: 'c,
fn get<'c, I>(&'c self, idx: I) -> Option<Self::Field<'c>>where
Self: RowIndex<I>,
'a: 'c,
Get the field with the provided index from the row. Read more
Source§fn partial_row(&self, range: Range<usize>) -> PartialRow<'_, R>
fn partial_row(&self, range: Range<usize>) -> PartialRow<'_, R>
Returns a wrapping row that allows only to access fields, where the index is part of
the provided range.
Source§impl<'a, R> RowIndex<&'a str> for PartialRow<'_, R>
impl<'a, R> RowIndex<&'a str> for PartialRow<'_, R>
Source§impl<R> RowIndex<usize> for PartialRow<'_, R>
impl<R> RowIndex<usize> for PartialRow<'_, R>
impl<R> RowSealed for PartialRow<'_, R>
Auto Trait Implementations§
impl<'a, R> Freeze for PartialRow<'a, R>
impl<'a, R> RefUnwindSafe for PartialRow<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Send for PartialRow<'a, R>where
R: Sync,
impl<'a, R> Sync for PartialRow<'a, R>where
R: Sync,
impl<'a, R> Unpin for PartialRow<'a, R>
impl<'a, R> UnwindSafe for PartialRow<'a, R>where
R: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> AggregateDistinct<Self>where
Self: DistinctDsl,
fn aggregate_distinct(self) -> AggregateDistinct<Self>where
Self: DistinctDsl,
DISTINCT
modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> AggregateAll<Self>where
Self: AllDsl,
fn aggregate_all(self) -> AggregateAll<Self>where
Self: AllDsl,
ALL
modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>where
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>where
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Over<Self>where
Self: OverDsl,
fn over(self) -> Over<Self>where
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> WindowFilter<Self, P>
fn window_filter<P>(self, f: P) -> WindowFilter<Self, P>
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> PartitionBy<Self, E>where
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> PartitionBy<Self, E>where
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> WindowOrder<Self, E>where
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> WindowOrder<Self, E>where
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more