chore(persistent_session): make more table creation parameterized
This commit is contained in:
parent
9eaedbf246
commit
df2dda2e10
|
@ -83,9 +83,10 @@
|
||||||
init_db_backend() ->
|
init_db_backend() ->
|
||||||
case is_store_enabled() of
|
case is_store_enabled() of
|
||||||
true ->
|
true ->
|
||||||
ok = emqx_trie:create_session_trie(),
|
StorageType = storage_type(),
|
||||||
ok = emqx_session_router:create_router_tab(),
|
ok = emqx_trie:create_session_trie(StorageType),
|
||||||
case storage_type() of
|
ok = emqx_session_router:create_router_tab(StorageType),
|
||||||
|
case StorageType of
|
||||||
disc ->
|
disc ->
|
||||||
emqx_persistent_session_mnesia_disc_backend:create_tables(),
|
emqx_persistent_session_mnesia_disc_backend:create_tables(),
|
||||||
persistent_term:put(?db_backend_key, emqx_persistent_session_mnesia_disc_backend);
|
persistent_term:put(?db_backend_key, emqx_persistent_session_mnesia_disc_backend);
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
-include_lib("snabbkaffe/include/snabbkaffe.hrl").
|
-include_lib("snabbkaffe/include/snabbkaffe.hrl").
|
||||||
|
|
||||||
-export([ create_init_tab/0
|
-export([ create_init_tab/0
|
||||||
, create_router_tab/0
|
, create_router_tab/1
|
||||||
, start_link/2]).
|
, start_link/2]).
|
||||||
|
|
||||||
%% Route APIs
|
%% Route APIs
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
%% Mnesia bootstrap
|
%% Mnesia bootstrap
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
create_router_tab() ->
|
create_router_tab(disc) ->
|
||||||
ok = mria:create_table(?ROUTE_DISC_TAB, [
|
ok = mria:create_table(?ROUTE_DISC_TAB, [
|
||||||
{type, bag},
|
{type, bag},
|
||||||
{rlog_shard, ?ROUTE_SHARD},
|
{rlog_shard, ?ROUTE_SHARD},
|
||||||
|
@ -73,7 +73,8 @@ create_router_tab() ->
|
||||||
{record_name, route},
|
{record_name, route},
|
||||||
{attributes, record_info(fields, route)},
|
{attributes, record_info(fields, route)},
|
||||||
{storage_properties, [{ets, [{read_concurrency, true},
|
{storage_properties, [{ets, [{read_concurrency, true},
|
||||||
{write_concurrency, true}]}]}]),
|
{write_concurrency, true}]}]}]);
|
||||||
|
create_router_tab(ram) ->
|
||||||
ok = mria:create_table(?ROUTE_RAM_TAB, [
|
ok = mria:create_table(?ROUTE_RAM_TAB, [
|
||||||
{type, bag},
|
{type, bag},
|
||||||
{rlog_shard, ?ROUTE_SHARD},
|
{rlog_shard, ?ROUTE_SHARD},
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
%% Mnesia bootstrap
|
%% Mnesia bootstrap
|
||||||
-export([ mnesia/1
|
-export([ mnesia/1
|
||||||
, create_session_trie/0
|
, create_session_trie/1
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-boot_mnesia({mnesia, [boot]}).
|
-boot_mnesia({mnesia, [boot]}).
|
||||||
|
@ -76,7 +76,7 @@ mnesia(boot) ->
|
||||||
{type, ordered_set},
|
{type, ordered_set},
|
||||||
{storage_properties, StoreProps}]).
|
{storage_properties, StoreProps}]).
|
||||||
|
|
||||||
create_session_trie() ->
|
create_session_trie(disc) ->
|
||||||
StoreProps = [{ets, [{read_concurrency, true},
|
StoreProps = [{ets, [{read_concurrency, true},
|
||||||
{write_concurrency, true}
|
{write_concurrency, true}
|
||||||
]}],
|
]}],
|
||||||
|
@ -86,7 +86,11 @@ create_session_trie() ->
|
||||||
{record_name, ?TRIE},
|
{record_name, ?TRIE},
|
||||||
{attributes, record_info(fields, ?TRIE)},
|
{attributes, record_info(fields, ?TRIE)},
|
||||||
{type, ordered_set},
|
{type, ordered_set},
|
||||||
{storage_properties, StoreProps}]),
|
{storage_properties, StoreProps}]);
|
||||||
|
create_session_trie(ram) ->
|
||||||
|
StoreProps = [{ets, [{read_concurrency, true},
|
||||||
|
{write_concurrency, true}
|
||||||
|
]}],
|
||||||
ok = mria:create_table(?SESSION_RAM_TRIE,
|
ok = mria:create_table(?SESSION_RAM_TRIE,
|
||||||
[{rlog_shard, ?ROUTE_SHARD},
|
[{rlog_shard, ?ROUTE_SHARD},
|
||||||
{storage, ram_copies},
|
{storage, ram_copies},
|
||||||
|
|
Loading…
Reference in New Issue