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, 'b, DB, R> Row<'a, DB> for PartialRow<'b, R>
impl<'a, 'b, DB, R> Row<'a, DB> for PartialRow<'b, 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, 'b, R> RowIndex<&'a str> for PartialRow<'b, R>
impl<'a, 'b, R> RowIndex<&'a str> for PartialRow<'b, R>
Source§impl<'a, R> RowIndex<usize> for PartialRow<'a, R>
impl<'a, R> RowIndex<usize> for PartialRow<'a, R>
impl<'a, R> RowSealed for PartialRow<'a, 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> 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>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<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>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.