Skip to main content

SqliteWorkerHandle

Struct SqliteWorkerHandle 

Source
pub struct SqliteWorkerHandle { /* private fields */ }

Implementations§

Source§

impl SqliteWorkerHandle

Source

pub fn start( vfs: NativeVfsHandle, file_name: String, metrics: Option<Arc<dyn SqliteVfsMetrics>>, ) -> Result<Self>

Runs the database on a dedicated single-thread pool, for callers without a shared one.

Source

pub fn start_on( pool: &SqlitePool, vfs: NativeVfsHandle, file_name: String, metrics: Option<Arc<dyn SqliteVfsMetrics>>, ) -> Result<Self>

Registers the database with pool. A pool thread opens the connection; wait_ready reports the outcome.

Source

pub fn start_on_with_guard( pool: &SqlitePool, vfs: NativeVfsHandle, file_name: String, metrics: Option<Arc<dyn SqliteVfsMetrics>>, guard: Option<ConnectionGuard>, ) -> Result<Self>

Like SqliteWorkerHandle::start_on, with guard installed on the connection and its work budget reset before every command.

Source

pub async fn wait_ready(&self) -> Result<()>

Source

pub fn set_background(&self, background: bool)

Returns whether the connection has an open explicit transaction, such as one started by a manual BEGIN, as of the last completed command. Marks this database’s later work as background work, which the pool runs after foreground work. Set when its actor starts shutting down.

Source

pub fn explicit_transaction_open(&self) -> bool

Source

pub fn subscribe_explicit_transaction(&self) -> Receiver<bool>

Subscribes to explicit transaction state changes. The value changes before the reply of the command that changed it is delivered.

Source

pub async fn exec(&self, sql: String) -> Result<QueryResult>

Source

pub async fn exec_profiled( &self, sql: String, ) -> Result<SqliteWorkerResult<QueryResult>>

Source

pub async fn execute( &self, sql: String, params: Option<Vec<BindParam>>, ) -> Result<ExecuteResult>

Source

pub async fn execute_profiled( &self, sql: String, params: Option<Vec<BindParam>>, ) -> Result<SqliteWorkerResult<ExecuteResult>>

Source

pub async fn execute_batch( &self, statements: Vec<(String, Option<Vec<BindParam>>)>, ) -> Result<Vec<ExecuteResult>>

Runs statements in order as one command, so they take one turn on the pool instead of one turn each. Statements after the first failure do not run. The batch does not open a transaction of its own: run it inside an explicit transaction for atomicity.

Source

pub async fn cork_commits(&self) -> Result<()>

Holds every later commit in memory until uncork_commits, which sends them to depot as one commit. Commands queue in order, so the transactions after this call are the ones held. None of them is durable until uncorking succeeds.

Source

pub async fn uncork_commits(&self) -> Result<()>

Sends the transactions committed since cork_commits to depot as one commit. Inside an explicit transaction it waits until the transaction ends, so the commit includes it.

Source

pub async fn close(&self) -> Result<()>

Source

pub async fn close_and_wait(&self) -> Result<()>

Closes the database and waits, without a timeout, until no pool thread holds it.

Source

pub async fn wait_for_failure(&self) -> bool

Trait Implementations§

Source§

impl Clone for SqliteWorkerHandle

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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