18 #ifndef QGSTRANSACTION_H
19 #define QGSTRANSACTION_H
27 #include "qgis_core.h"
93 bool begin( QString &errorMsg
SIP_OUT,
int statementTimeout = 20 );
98 bool commit( QString &errorMsg
SIP_OUT );
103 bool rollback( QString &errorMsg
SIP_OUT );
115 virtual bool executeSql(
const QString &sql, QString &error
SIP_OUT,
bool isDirty =
false,
const QString &name = QString() ) = 0;
128 QString createSavepoint( QString &error
SIP_OUT );
135 QString createSavepoint(
const QString &savePointId, QString &error
SIP_OUT );
141 bool rollbackToSavepoint(
const QString &name, QString &error
SIP_OUT );
147 void dirtyLastSavePoint();
153 QList< QString >
savePoints()
const {
return QList< QString >::fromVector( mSavepoints ); }
163 static QString connectionString(
const QString &layerUri )
SIP_SKIP;
176 void dirtied(
const QString &sql,
const QString &name );
184 void onLayerDeleted();
188 bool mTransactionActive;
189 QSet<QgsVectorLayer *> mLayers;
191 QStack< QString > mSavepoints;
192 bool mLastSavePointIsDirty;
196 static QString removeLayerIdOrName(
const QString &
str );
198 virtual bool beginTransaction( QString &error,
int statementTimeout ) = 0;
199 virtual bool commitTransaction( QString &error ) = 0;
200 virtual bool rollbackTransaction( QString &error ) = 0;
This class allows including a set of layers in a database-side transaction, provided the layer data p...
void afterRollback()
Emitted after a rollback.
QList< QString > savePoints() const
returns savepoints
virtual bool executeSql(const QString &sql, QString &error, bool isDirty=false, const QString &name=QString())=0
Execute the sql string.
bool lastSavePointIsDirty() const
returns the last created savepoint
void dirtied(const QString &sql, const QString &name)
Emitted if a sql query is executed and the underlying data is modified.
This is the base class for vector data providers.
Represents a vector layer which manages a vector based data sets.