refactor(retainer): use ordered_set Mnesia table type
ordered_set is compatible to set in all the existing APIs and in addition, it provides a more deterministic traversing cursor in case we want to change the current dirty_select based "select ALL" implementation
This commit is contained in:
parent
59e6b6ee5b
commit
ac693c0dcb
|
@ -48,12 +48,16 @@ create_resource(#{storage_type := StorageType}) ->
|
||||||
disc -> disc_copies;
|
disc -> disc_copies;
|
||||||
disc_only -> disc_only_copies
|
disc_only -> disc_only_copies
|
||||||
end,
|
end,
|
||||||
|
TableType = case StorageType of
|
||||||
|
disc_only -> set;
|
||||||
|
_ -> ordered_set
|
||||||
|
end,
|
||||||
StoreProps = [{ets, [compressed,
|
StoreProps = [{ets, [compressed,
|
||||||
{read_concurrency, true},
|
{read_concurrency, true},
|
||||||
{write_concurrency, true}]},
|
{write_concurrency, true}]},
|
||||||
{dets, [{auto_save, 1000}]}],
|
{dets, [{auto_save, 1000}]}],
|
||||||
ok = mria:create_table(?TAB, [
|
ok = mria:create_table(?TAB, [
|
||||||
{type, set},
|
{type, TableType},
|
||||||
{rlog_shard, ?RETAINER_SHARD},
|
{rlog_shard, ?RETAINER_SHARD},
|
||||||
{storage, Copies},
|
{storage, Copies},
|
||||||
{record_name, retained},
|
{record_name, retained},
|
||||||
|
|
Loading…
Reference in New Issue