PartialRow

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, DB, R> Row<'a, DB> for PartialRow<'_, 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, R> RowIndex<&'a str> for PartialRow<'_, 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<R> RowIndex<usize> for PartialRow<'_, 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<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

Source§

fn aggregate_distinct(self) -> AggregateDistinct<Self>
where Self: DistinctDsl,

DISTINCT modifier for aggregate functions Read more
Source§

fn aggregate_all(self) -> AggregateAll<Self>
where Self: AllDsl,

ALL modifier for aggregate functions Read more
Source§

fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
where P: AsExpression<Bool>, Self: FilterDsl<P::Expression>,

Add an aggregate function filter Read more
Source§

fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>
where Self: OrderAggregateDsl<O>,

Add an aggregate function order Read more
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>

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>

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)

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)

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
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Sync + Send>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

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

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be 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<T> WindowExpressionMethods for T

Source§

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>
where P: AsExpression<Bool>, Self: FilterDsl<P::Expression>,

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

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

Add a order clause to the current window function Read more
Source§

fn frame_by<E>(self, expr: E) -> FrameBy<Self, E>
where Self: FrameDsl<E>,

Add a frame clause to the current window function Read more
Source§

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