diesel::row

Struct PartialRow

Source
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>

Source

pub fn new<'b, DB>(inner: &'a R, range: Range<usize>) -> Self
where R: Row<'b, DB>, DB: Backend,

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>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, 'b, DB, R> Row<'a, DB> for PartialRow<'b, R>
where DB: Backend, R: Row<'a, DB>,

Source§

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 more
Source§

type InnerPartialRow = R

Return type of PartialRow Read more
Source§

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,

Get the field with the provided index from the row. Read more
Source§

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§

fn get_value<ST, T, I>(&self, idx: I) -> Result<T>
where Self: RowIndex<I>, T: FromSql<ST, DB>,

Get a deserialized value with the provided index from the row.
Source§

impl<'a, 'b, R> RowIndex<&'a str> for PartialRow<'b, R>
where R: RowIndex<&'a str>,

Source§

fn idx(&self, idx: &'a str) -> Option<usize>

Get the numeric index inside the current row for the provided index value
Source§

impl<'a, R> RowIndex<usize> for PartialRow<'a, R>
where R: RowIndex<usize>,

Source§

fn idx(&self, idx: usize) -> Option<usize>

Get the numeric index inside the current row for the provided index value
Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

Convert &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> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> AsExprOf<Self, T>

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<'a, R, DB> NamedRow<'a, DB> for R
where R: Row<'a, DB>, DB: Backend,

Source§

fn get<ST, T>( &self, column_name: &str, ) -> Result<T, Box<dyn Error + Sync + Send>>
where T: FromSql<ST, DB>,

Retrieve and deserialize a single value from the query Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T