SessionMut

Struct SessionMut 

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

Mutable session for executing prepared statements that modify data

Use this session type when you need to execute INSERT, UPDATE, or DELETE statements in addition to SELECT.

Implementations§

Source§

impl<'a> SessionMut<'a>

Source

pub fn new(db: &'a mut Database) -> Self

Create a new mutable session with a reference to the database

Source

pub fn with_cache_size(db: &'a mut Database, cache_size: usize) -> Self

Create a new mutable session with a custom cache size

Source

pub fn with_shared_cache( db: &'a mut Database, cache: Arc<PreparedStatementCache>, ) -> Self

Create a new mutable session with a shared cache

Source

pub fn database(&self) -> &Database

Get the underlying database reference (immutable)

Source

pub fn database_mut(&mut self) -> &mut Database

Get the underlying database reference (mutable)

Source

pub fn cache(&self) -> &PreparedStatementCache

Get the prepared statement cache

Source

pub fn shared_cache(&self) -> Arc<PreparedStatementCache>

Get the shared cache Arc

Source

pub fn prepare(&self, sql: &str) -> Result<Arc<PreparedStatement>, SessionError>

Prepare a SQL statement for execution

Source

pub fn prepare_arena( &self, sql: &str, ) -> Result<Arc<ArenaPreparedStatement>, ArenaParseError>

Prepare a SQL SELECT statement using arena allocation

See Session::prepare_arena for details.

Source

pub fn execute_prepared( &self, stmt: &PreparedStatement, params: &[SqlValue], ) -> Result<PreparedExecutionResult, SessionError>

Execute a prepared statement with parameters (read-only)

Use this for SELECT queries.

Source

pub fn execute_prepared_mut( &mut self, stmt: &PreparedStatement, params: &[SqlValue], ) -> Result<PreparedExecutionResult, SessionError>

Execute a prepared statement with parameters (read-write)

Use this for INSERT, UPDATE, DELETE statements.

Auto Trait Implementations§

§

impl<'a> Freeze for SessionMut<'a>

§

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

§

impl<'a> Send for SessionMut<'a>

§

impl<'a> Sync for SessionMut<'a>

§

impl<'a> Unpin for SessionMut<'a>

§

impl<'a> !UnwindSafe for SessionMut<'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, 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

Source§

fn is_within(&self, b: &G2) -> bool