pub struct BackendWriteTransaction<'a> { /* private fields */ }

Implementations§

source§

impl<'a> BackendWriteTransaction<'a>

source

pub fn create( &mut self, cid: &Cid, entries: Vec<Entry<EntrySealed, EntryNew>> ) -> Result<Vec<Entry<EntrySealed, EntryCommitted>>, OperationError>

source

pub fn refresh( &mut self, entries: Vec<Entry<EntrySealed, EntryNew>> ) -> Result<Vec<Entry<EntrySealed, EntryCommitted>>, OperationError>

This is similar to create, but used in the replication path as it skips the modification of the RUV and the checking of CIDs since these actions are not required during a replication refresh (else we’d create an infinite replication loop.)

source

pub fn modify( &mut self, cid: &Cid, pre_entries: &[Arc<EntrySealedCommitted>], post_entries: &[EntrySealedCommitted] ) -> Result<(), OperationError>

source

pub fn reap_tombstones(&mut self, cid: &Cid) -> Result<usize, OperationError>

source

pub fn update_idxmeta( &mut self, idxkeys: Vec<IdxKey> ) -> Result<(), OperationError>

source

pub fn upgrade_reindex(&mut self, v: i64) -> Result<(), OperationError>

source

pub fn reindex(&mut self) -> Result<(), OperationError>

source

pub fn restore(&mut self, src_path: &str) -> Result<(), OperationError>

source

pub fn ruv_rebuild(&mut self) -> Result<(), OperationError>

source

pub fn commit(self) -> Result<(), OperationError>

source

pub fn get_db_s_uuid(&mut self) -> Uuid

source

pub fn set_db_d_uuid(&mut self, nsid: Uuid) -> Result<(), OperationError>

Manually set a new domain UUID and store it into the DB. This is used as part of a replication refresh.

source

pub fn get_db_d_uuid(&mut self) -> Uuid

This pulls the domain UUID from the database

source

pub fn set_db_ts_max(&mut self, ts: Duration) -> Result<(), OperationError>

source

pub fn get_db_ts_max(&mut self, ts: Duration) -> Result<Duration, OperationError>

Trait Implementations§

source§

impl<'a> BackendTransaction for BackendWriteTransaction<'a>

§

type IdlLayerType = IdlArcSqliteWriteTransaction<'a>

§

type RuvType = ReplicationUpdateVectorWriteTransaction<'a>

source§

fn get_idlayer(&mut self) -> &mut IdlArcSqliteWriteTransaction<'a>

source§

fn get_ruv(&mut self) -> &mut ReplicationUpdateVectorWriteTransaction<'a>

source§

fn get_idxmeta_ref(&self) -> &IdxMeta

source§

fn filter2idl( &mut self, filt: &FilterResolved, thres: usize ) -> Result<(IdList, FilterPlan), OperationError>

Recursively apply a filter, transforming into IdList’s on the way. This builds a query execution log, so that it can be examined how an operation proceeded.
source§

fn search( &mut self, erl: &Limits, filt: &Filter<FilterValidResolved> ) -> Result<Vec<Arc<EntrySealedCommitted>>, OperationError>

source§

fn exists( &mut self, erl: &Limits, filt: &Filter<FilterValidResolved> ) -> Result<bool, OperationError>

Given a filter, assert some condition exists. Basically, this is a specialised case of search, where we don’t need to load any candidates if they match. This is heavily used in uuid refint and attr uniqueness.
source§

fn verify(&mut self) -> Vec<Result<(), ConsistencyError>>

source§

fn verify_entry_index( &mut self, e: &Entry<EntrySealed, EntryCommitted> ) -> Result<(), ConsistencyError>

source§

fn verify_indexes(&mut self) -> Vec<Result<(), ConsistencyError>>

source§

fn verify_ruv(&mut self, results: &mut Vec<Result<(), ConsistencyError>>)

source§

fn backup(&mut self, dst_path: &str) -> Result<(), OperationError>

source§

fn name2uuid(&mut self, name: &str) -> Result<Option<Uuid>, OperationError>

source§

fn externalid2uuid(&mut self, name: &str) -> Result<Option<Uuid>, OperationError>

source§

fn uuid2spn(&mut self, uuid: Uuid) -> Result<Option<Value>, OperationError>

source§

fn uuid2rdn(&mut self, uuid: Uuid) -> Result<Option<String>, OperationError>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T> AsTaggedExplicit<'a> for Twhere T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self>

§

impl<'a, T> AsTaggedImplicit<'a> for Twhere T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self>

source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · 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 Twhere U: From<T>,

const: unstable · 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

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