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 &layerName )
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;
203 #endif // QGSTRANSACTION_H