lintel 0.2.0
Loading...
Searching...
No Matches
Transaction.h
Go to the documentation of this file.
1#ifndef LINTEL_TRANSACTION_H
2#define LINTEL_TRANSACTION_H
3
4#include "Connection.h"
7
8namespace lintel {
9namespace db {
14 {
15 private:
16 const Connection &m_connection;
17 std::unique_ptr<postgresql::Transaction> m_transaction = nullptr;
18 std::unique_ptr<sqlite::Transaction> m_transactionSQLite = nullptr;
19
20 public:
25 explicit Transaction(const Connection &connection);
26
28
30 void start();
31
33 void commit();
34
39 void save(const std::string &savepoint) const;
40
42 void rollback();
43
48 void rollbackTo(const std::string &savepoint) const;
49 };
50}// namespace db
51
52}// namespace lintel
53#endif// LINTEL_TRANSACTION_H
Definition Connection.h:25
Definition Transaction.h:14
Transaction(const Connection &connection)
Transaction(Transaction &transaction)=delete
void rollbackTo(const std::string &savepoint) const
void save(const std::string &savepoint) const
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9