Skip to main content

JoinCursor

Struct JoinCursor 

Source
pub struct JoinCursor<'a> { /* private fields */ }
Expand description

A cursor that returns records satisfying all secondary-key constraints.

Obtained via Database::join.

The cursor owns the SecondaryCursor objects for the duration of the join. When close is called (or the cursor is dropped), the internal cursors are released. The caller’s original cursor variables have been moved in so they are no longer accessible.

Implementations§

Source§

impl<'a> JoinCursor<'a>

Source

pub fn get_next( &mut self, key: &mut DatabaseEntry, data: &mut DatabaseEntry, ) -> Result<OperationStatus>

Returns the next primary key and primary record data from the join.

Returns OperationStatus::Success with key and data filled in, or OperationStatus::NotFound when there are no more matching records.

Source

pub fn get_next_key( &mut self, key: &mut DatabaseEntry, ) -> Result<OperationStatus>

Returns the next primary key only — does not read primary data.

Equivalent to ’s JoinCursor.getNext(key, lockMode) single-arg overload. Useful when only the key is needed and avoiding a primary read is desirable.

Source

pub fn close(self)

Closes the join cursor, releasing all internal secondary cursors.

Source

pub fn get_database(&self) -> &Database

Returns a reference to the primary database associated with this cursor.

Source

pub fn get_config(&self) -> JoinConfig

Returns a clone of this cursor’s configuration.

Trait Implementations§

Source§

impl Drop for JoinCursor<'_>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for JoinCursor<'a>

§

impl<'a> !UnwindSafe for JoinCursor<'a>

§

impl<'a> Freeze for JoinCursor<'a>

§

impl<'a> Send for JoinCursor<'a>

§

impl<'a> Sync for JoinCursor<'a>

§

impl<'a> Unpin for JoinCursor<'a>

§

impl<'a> UnsafeUnpin for JoinCursor<'a>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more