}
result->lock_order = lock_order;
+ result->persistent = ((tdb_flags & TDB_CLEAR_IF_FIRST) == 0);
+
+ if (!result->persistent && (tdb_flags & TDB_INCOMPATIBLE_HASH)) {
+ tdb_flags |= TDB_NO_TRANSACTIONS;
+ }
+
db_tdb->wtdb = tdb_wrap_open(db_tdb, name, hash_size, tdb_flags,
open_flags, mode);
if (db_tdb->wtdb == NULL) {
result->traverse_read = db_tdb_traverse_read;
result->parse_record = db_tdb_parse;
result->get_seqnum = db_tdb_get_seqnum;
- result->persistent = ((tdb_flags & TDB_CLEAR_IF_FIRST) == 0);
result->transaction_start = db_tdb_transaction_start;
result->transaction_start_nonblock = db_tdb_transaction_start_nonblock;
result->transaction_commit = db_tdb_transaction_commit;