GDAL
|
IOGRTransactionBehaviour is an interface that a driver must implement to provide emulation of transactions. More...
#include <ogremulatedtransaction.h>
Public Member Functions | |
virtual OGRErr | StartTransaction (OGRDataSource *&poDSInOut, int &bOutHasReopenedDS)=0 |
Start a transaction. More... | |
virtual OGRErr | CommitTransaction (OGRDataSource *&poDSInOut, int &bOutHasReopenedDS)=0 |
Commit a transaction. More... | |
virtual OGRErr | RollbackTransaction (OGRDataSource *&poDSInOut, int &bOutHasReopenedDS)=0 |
Rollback a transaction. More... | |
IOGRTransactionBehaviour is an interface that a driver must implement to provide emulation of transactions.
|
pure virtual |
Commit a transaction.
The implementation may update the poDSInOut reference by closing and reopening the datasource (or assigning it to NULL in case of error). In which case bOutHasReopenedDS must be set to TRUE.
The implementation can for example remove the backup it may have done at StartTransaction() time.
poDSInOut | datasource handle that may be modified |
bOutHasReopenedDS | output boolean to indicate if datasource has been closed |
|
pure virtual |
Rollback a transaction.
The implementation may update the poDSInOut reference by closing and reopening the datasource (or assigning it to NULL in case of error). In which case bOutHasReopenedDS must be set to TRUE.
The implementation can for example restore the backup it may have done at StartTransaction() time.
poDSInOut | datasource handle that may be modified |
bOutHasReopenedDS | output boolean to indicate if datasource has been closed |
|
pure virtual |
Start a transaction.
The implementation may update the poDSInOut reference by closing and reopening the datasource (or assigning it to NULL in case of error). In which case bOutHasReopenedDS must be set to TRUE.
The implementation can for example backup the existing files/directories that compose the current datasource.
poDSInOut | datasource handle that may be modified |
bOutHasReopenedDS | output boolean to indicate if datasource has been closed |