use rusqlite::{Connection, Result, Savepoint, Transaction};
pub trait Savepointable {
fn savepoint(&mut self) -> Result<Savepoint<'_>>;
}
impl Savepointable for Connection {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Connection::savepoint(self)
}
}
impl Savepointable for Transaction<'_> {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Transaction::savepoint(self)
}
}
impl Savepointable for Savepoint<'_> {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Savepoint::savepoint(self)
}
}
impl Savepointable for &mut Connection {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Connection::savepoint(*self)
}
}
impl Savepointable for &mut Transaction<'_> {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Transaction::savepoint(*self)
}
}
impl Savepointable for &mut Savepoint<'_> {
#[inline]
fn savepoint(&mut self) -> Result<Savepoint<'_>> {
Savepoint::savepoint(*self)
}
}