Improve mnesia-compat abort returns, use latest rocksdb

This commit is contained in:
Ulf Wiger
2026-04-12 14:47:00 +02:00
parent 6246f3f2e1
commit 6c1a343c82
4 changed files with 58 additions and 25 deletions
+17 -7
View File
@@ -235,6 +235,7 @@ compare_txs(Type, F) ->
ct:log("Mrdb = ~p/~p", [Type, EMr]),
case {Type, EMn, EMr} of
{error, {some_value, [_|_]}, {some_value, []}} -> ok;
{error, E, E} -> ok;
{throw, {throw, some_value}, {throw, some_value}} -> ok;
{exit, some_value, some_value} -> ok;
{abort, some_value, some_value} -> ok
@@ -277,21 +278,30 @@ mrdb_abort(Config) ->
mrdb:insert(tx_abort, {tx_abort, a, 1}),
Pre = mrdb:read(tx_abort, a),
D0 = get_dict(),
ActivityF = fun() ->
[{tx_abort, a, N}] = mrdb:read(tx_abort, a),
error(abort_here),
ok = mrdb:insert(tx_abort, [{tx_abort, a, N+1}]),
noooo
end,
TRes = try mrdb:activity(
{tx, #{mnesia_compatible => true}}, rdb,
fun() ->
[{tx_abort, a, N}] = mrdb:read(tx_abort, a),
error(abort_here),
ok = mrdb:insert(tx_abort, [{tx_abort, a, N+1}]),
noooo
end)
ActivityF)
catch
error:abort_here ->
exit:{aborted, {abort_here, []}} ->
ok
end,
dictionary_unchanged(D0),
ok = TRes,
Pre = mrdb:read(tx_abort, a),
TRes1 = try mrdb:activity(tx, rdb, ActivityF)
catch
error:{abort_here, [_|_]} ->
ok
end,
dictionary_unchanged(D0),
ok = TRes1,
Pre = mrdb:read(tx_abort, a),
delete_tabs(Created),
ok.