6#ifndef PT_DB_TRANSACTION_H
7#define PT_DB_TRANSACTION_H
10#include <Pt/Db/Connection.h>
11#include <Pt/NonCopyable.h>
83 catch (
const std::exception&)
92 {
return _connection; }
145 _connection.endStartTransaction();
152 {
return _startFinished; }
166 _connection.endCommitTransaction();
172 {
return _commitFinished; }
187 _connection.endRollbackTransaction();
193 {
return _rollbackFinished; }
229 , _immediate(immediate)
238 return _immediate ?
"BEGIN IMMEDIATE TRANSACTION" :
nullptr;
Database session for a registered driver.
Definition Connection.h:97
SqliteTransaction(Connection &conn, bool start=true, bool immediate=false)
Creates a SQLite transaction on conn.
Definition Transaction.h:227
const char * onGetBeginSql() override
Returns SQL for BEGIN, or a null pointer for the backend default.
Definition Transaction.h:236
void rollback()
Rolls back the active transaction.
Definition Transaction.h:123
void endStart()
Completes an asynchronous begin-transaction.
Definition Transaction.h:143
void beginStart()
Starts an asynchronous begin-transaction.
Definition Transaction.h:134
void endCommit()
Completes an asynchronous commit.
Definition Transaction.h:164
virtual const char * onGetBeginSql()
Returns SQL for BEGIN, or a null pointer for the backend default.
Definition Transaction.h:198
Transaction(Connection &conn, bool starttransaction=true)
Creates a transaction on conn.
Definition Transaction.h:63
Pt::Signal & rollbackFinished()
Signal emitted when an asynchronous rollback completes.
Definition Transaction.h:192
Pt::Signal & startFinished()
Signal emitted when an asynchronous begin completes.
Definition Transaction.h:151
~Transaction()
Rolls back an active transaction and destroys the object.
Definition Transaction.h:75
void beginRollback()
Starts an asynchronous rollback.
Definition Transaction.h:177
virtual const char * onGetCommitSql()
Returns SQL for COMMIT, or a null pointer for the backend default.
Definition Transaction.h:203
virtual const char * onGetRollbackSql()
Returns SQL for ROLLBACK, or a null pointer for the backend default.
Definition Transaction.h:208
void endRollback()
Completes an asynchronous rollback.
Definition Transaction.h:185
Pt::Signal & commitFinished()
Signal emitted when an asynchronous commit completes.
Definition Transaction.h:171
void beginCommit()
Starts an asynchronous commit.
Definition Transaction.h:156
void begin()
Begins a deferred transaction.
Definition Transaction.h:98
void commit()
Commits the active transaction.
Definition Transaction.h:110
const Connection & getConnection() const
Returns the connection this transaction uses.
Definition Transaction.h:91
NonCopyable()
Default constructor.
Definition NonCopyable.h:63
Multicast Signal to call multiple slots.
Definition Signal.h:190
Portable SQL database access.
Core module.
Definition Allocator.h:33