]> granicus.if.org Git - ejabberd/commitdiff
Let ejabberd_mnesia handles copy_type
authorChristophe Romain <christophe.romain@process-one.net>
Tue, 17 Jan 2017 14:05:14 +0000 (15:05 +0100)
committerChristophe Romain <christophe.romain@process-one.net>
Tue, 17 Jan 2017 14:05:14 +0000 (15:05 +0100)
src/ejabberd_sm_mnesia.erl
src/mod_muc_mnesia.erl
src/mod_roster_mnesia.erl
src/mod_shared_roster_mnesia.erl
src/mod_sip_registrar.erl
src/mod_vcard_mnesia.erl
src/nodetree_tree.erl

index 735e92a8d2a0d09f99adcc050c4a5ac611764a8c..028f301ed3386ace5ab84325e4869dc6bad6be53 100644 (file)
@@ -98,14 +98,11 @@ init([]) ->
     update_tables(),
     ejabberd_mnesia:create(?MODULE, session,
                        [{ram_copies, [node()]},
-                        {attributes, record_info(fields, session)}]),
+                        {attributes, record_info(fields, session)},
+                        {index, [usr,us]}]),
     ejabberd_mnesia:create(?MODULE, session_counter,
                        [{ram_copies, [node()]},
                         {attributes, record_info(fields, session_counter)}]),
-    mnesia:add_table_index(session, usr),
-    mnesia:add_table_index(session, us),
-    mnesia:add_table_copy(session, node(), ram_copies),
-    mnesia:add_table_copy(session_counter, node(), ram_copies),
     mnesia:subscribe(system),
     {ok, #state{}}.
 
index 9c55f5898e1d81d5b8320855ec68a4ac48755f43..9c6ebf924801df92ed61e99c29c7855c3268c3bd 100644 (file)
@@ -49,9 +49,9 @@ init(_Host, Opts) ->
     ejabberd_mnesia:create(?MODULE, muc_registered,
                        [{disc_copies, [node()]},
                         {attributes,
-                         record_info(fields, muc_registered)}]),
-    update_tables(MyHost),
-    mnesia:add_table_index(muc_registered, nick).
+                         record_info(fields, muc_registered)},
+                        {index, [nick]}]),
+    update_tables(MyHost).
 
 store_room(_LServer, Host, Name, Opts) ->
     F = fun () ->
index a1019823def256385d210d31625c6703c5b7884b..c05716b787980a0292a2e0d4fab0d8fede1540f0 100644 (file)
 init(_Host, _Opts) ->
     ejabberd_mnesia:create(?MODULE, roster,
                        [{disc_copies, [node()]},
-                        {attributes, record_info(fields, roster)}]),
+                        {attributes, record_info(fields, roster)},
+                        {index, [us]}]),
     ejabberd_mnesia:create(?MODULE, roster_version,
                        [{disc_copies, [node()]},
                         {attributes,
-                         record_info(fields, roster_version)}]),
-    update_tables(),
-    mnesia:add_table_index(roster, us),
-    mnesia:add_table_index(roster_version, us).
+                         record_info(fields, roster_version)},
+                        {index, [us]}]),
+    update_tables().
 
 read_roster_version(LUser, LServer) ->
     US = {LUser, LServer},
index 9af004b3120d3f2b7b5e7a4d503d1a6612a0fd05..702e27a090475817367a8cf62910d8f12e4290d9 100644 (file)
@@ -47,9 +47,9 @@ init(_Host, _Opts) ->
                         {attributes, record_info(fields, sr_group)}]),
     ejabberd_mnesia:create(?MODULE, sr_user,
                        [{disc_copies, [node()]}, {type, bag},
-                        {attributes, record_info(fields, sr_user)}]),
-    update_tables(),
-    mnesia:add_table_index(sr_user, group_host).
+                        {attributes, record_info(fields, sr_user)},
+                        {index, [group_host]}]),
+    update_tables().
 
 list_groups(Host) ->
     mnesia:dirty_select(sr_group,
index 646a39161d06672cb69428898ff90ddec53b620d..83cf77a0dac7dc73b7636f1165ea34c9fcdd83c2 100644 (file)
@@ -181,10 +181,8 @@ init([]) ->
     ejabberd_mnesia:create(?MODULE, sip_session,
                        [{ram_copies, [node()]},
                         {type, bag},
-                        {attributes, record_info(fields, sip_session)}]),
-    mnesia:add_table_index(sip_session, conn_mref),
-    mnesia:add_table_index(sip_session, socket),
-    mnesia:add_table_copy(sip_session, node(), ram_copies),
+                        {attributes, record_info(fields, sip_session)},
+                        {index, [conn_mref,socket]}]),
     {ok, #state{}}.
 
 handle_call({write, Sessions, Supported}, _From, State) ->
index f1a70e20dd0511567809c074b6fe92f6e559cd43..5faff52612d5eb5a8f2fb95fbf18fa096663747b 100644 (file)
@@ -46,20 +46,13 @@ init(_Host, _Opts) ->
     ejabberd_mnesia:create(?MODULE, vcard_search,
                        [{disc_copies, [node()]},
                         {attributes,
-                         record_info(fields, vcard_search)}]),
-    update_tables(),
-    mnesia:add_table_index(vcard_search, luser),
-    mnesia:add_table_index(vcard_search, lfn),
-    mnesia:add_table_index(vcard_search, lfamily),
-    mnesia:add_table_index(vcard_search, lgiven),
-    mnesia:add_table_index(vcard_search, lmiddle),
-    mnesia:add_table_index(vcard_search, lnickname),
-    mnesia:add_table_index(vcard_search, lbday),
-    mnesia:add_table_index(vcard_search, lctry),
-    mnesia:add_table_index(vcard_search, llocality),
-    mnesia:add_table_index(vcard_search, lemail),
-    mnesia:add_table_index(vcard_search, lorgname),
-    mnesia:add_table_index(vcard_search, lorgunit).
+                         record_info(fields, vcard_search)},
+                        {index, [ luser, lfn, lfamily,
+                                  lgiven, lmiddle, lnickname,
+                                  lbday, lctry, llocality,
+                                  lemail, lorgname, lorgunit
+                                ]}]),
+    update_tables().
 
 stop(_Host) ->
     ok.
index 084c53d42dc61af2c85aeb4d1d3b049aef36fb0c..4d9b727b7dc250c55356be215e5bd7342026690c 100644 (file)
 init(_Host, _ServerHost, _Options) ->
     ejabberd_mnesia:create(?MODULE, pubsub_node,
        [{disc_copies, [node()]},
-           {attributes, record_info(fields, pubsub_node)}]),
-    mnesia:add_table_index(pubsub_node, id),
-    NodesFields = record_info(fields, pubsub_node),
-    case mnesia:table_info(pubsub_node, attributes) of
-       NodesFields -> ok;
-       _ -> ok
-    end,
+           {attributes, record_info(fields, pubsub_node)},
+           {index, [id]}]),
     %% mnesia:transform_table(pubsub_state, ignore, StatesFields)
     ok.