mirror of
https://github.com/processone/ejabberd.git
synced 2024-09-29 14:37:44 +02:00
Fix pubsub_state mnesia table definition
Partially bound lookups keys only works efficiently if the table type if ordered_set. If the table is a set, then it is implemented as a hashtable, and if the lookup key isn't fully bound an entire table scan is neccesarly.
This commit is contained in:
parent
362d7f617d
commit
3e6b88cbc3
@ -726,6 +726,7 @@ update_state_database(_Host, _ServerHost) ->
|
||||
{atomic, ok} = mnesia:delete_table(pubsub_state),
|
||||
{atomic, ok} = mnesia:create_table(pubsub_state,
|
||||
[{disc_copies, [node()]},
|
||||
{type, ordered_set},
|
||||
{attributes,
|
||||
record_info(fields,
|
||||
pubsub_state)}]),
|
||||
@ -756,6 +757,7 @@ update_state_database(_Host, _ServerHost) ->
|
||||
{atomic, ok} = mnesia:delete_table(pubsub_state),
|
||||
{atomic, ok} = mnesia:create_table(pubsub_state,
|
||||
[{disc_copies, [node()]},
|
||||
{type, ordered_set},
|
||||
{attributes,
|
||||
record_info(fields,
|
||||
pubsub_state)}]),
|
||||
|
@ -69,7 +69,8 @@
|
||||
init(_Host, _ServerHost, _Options) ->
|
||||
pubsub_subscription:init(),
|
||||
mnesia:create_table(pubsub_state,
|
||||
[{disc_copies, [node()]}, {index, [nodeidx]},
|
||||
[{disc_copies, [node()]}, {index, [nodeidx]},
|
||||
{type, ordered_set},
|
||||
{attributes, record_info(fields, pubsub_state)}]),
|
||||
mnesia:create_table(pubsub_item,
|
||||
[{disc_only_copies, [node()]}, {index, [nodeidx]},
|
||||
|
Loading…
Reference in New Issue
Block a user