tdb_len_t len2 = PAGESIZE - (off % PAGESIZE);
ecode = transaction_write(tdb, off, buf, len2);
if (ecode != TDB_SUCCESS) {
- return -1;
+ return ecode;
}
len -= len2;
off += len2;
{
enum TDB_ERROR ecode;
+ if (tdb->flags & TDB_VERSION1) {
+ if (tdb1_transaction_start(tdb) == -1)
+ return tdb->last_error;
+ return TDB_SUCCESS;
+ }
+
tdb->stats.transactions++;
/* some sanity checks */
if (tdb->flags & TDB_INTERNAL) {
*/
void tdb_transaction_cancel(struct tdb_context *tdb)
{
+ if (tdb->flags & TDB_VERSION1) {
+ tdb1_transaction_cancel(tdb);
+ return;
+ }
tdb->stats.transaction_cancel++;
_tdb_transaction_cancel(tdb);
}
*/
enum TDB_ERROR tdb_transaction_prepare_commit(struct tdb_context *tdb)
{
- return _tdb_transaction_prepare_commit(tdb);
+ if (tdb->flags & TDB_VERSION1) {
+ if (tdb1_transaction_prepare_commit(tdb) == -1)
+ return tdb->last_error;
+ return TDB_SUCCESS;
+ }
+ return tdb->last_error = _tdb_transaction_prepare_commit(tdb);
}
/*
int i;
enum TDB_ERROR ecode;
+ if (tdb->flags & TDB_VERSION1) {
+ if (tdb1_transaction_commit(tdb) == -1)
+ return tdb->last_error;
+ return TDB_SUCCESS;
+ }
+
if (tdb->tdb2.transaction == NULL) {
return tdb->last_error = tdb_logerr(tdb, TDB_ERR_EINVAL,
TDB_LOG_USE_ERROR,