sqlite_collections/db/
savepointable.rs1use rusqlite::{Connection, Result, Savepoint, Transaction};
2
3pub trait Savepointable {
7 fn savepoint(&mut self) -> Result<Savepoint<'_>>;
8}
9
10impl Savepointable for Connection {
11 #[inline]
12 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
13 Connection::savepoint(self)
14 }
15}
16
17impl Savepointable for Transaction<'_> {
18 #[inline]
19 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
20 Transaction::savepoint(self)
21 }
22}
23
24impl Savepointable for Savepoint<'_> {
25 #[inline]
26 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
27 Savepoint::savepoint(self)
28 }
29}
30
31impl Savepointable for &mut Connection {
32 #[inline]
33 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
34 Connection::savepoint(*self)
35 }
36}
37
38impl Savepointable for &mut Transaction<'_> {
39 #[inline]
40 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
41 Transaction::savepoint(*self)
42 }
43}
44
45impl Savepointable for &mut Savepoint<'_> {
46 #[inline]
47 fn savepoint(&mut self) -> Result<Savepoint<'_>> {
48 Savepoint::savepoint(*self)
49 }
50}