Improve mnesia-compat abort returns, use latest rocksdb
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user