* src/mod_pubsub/mod_pubsub.erl: Fix update pubsub tables from

ejabberd 1.x to 2.x (EJAB-817)

SVN Revision: 1734
This commit is contained in:
Badlop 2008-12-16 17:44:48 +00:00
parent a61b838ad9
commit cd1eddde1a
2 changed files with 62 additions and 53 deletions

View File

@ -1,5 +1,8 @@
2008-12-16 Badlop <badlop@process-one.net>
* src/mod_pubsub/mod_pubsub.erl: Fix update pubsub tables from
ejabberd 1.x to 2.x (EJAB-817)
* doc/guide.tex: Fix capitalization of some section titles
* doc/guide.tex: Mention as optional Requirements: mysql, pgsql

View File

@ -238,7 +238,6 @@ update_database(Host) ->
[host_node, host_parent, info] ->
?INFO_MSG("upgrade pubsub tables",[]),
F = fun() ->
NewRecords =
lists:foldl(
fun({pubsub_node, NodeId, ParentId, {nodeinfo, Items, Options, Entities}}, RecList) ->
ItemsList =
@ -282,16 +281,23 @@ update_database(Host) ->
RecList]
end, [],
mnesia:match_object(
{pubsub_node, {Host, '_'}, '_', '_'})),
mnesia:delete_table(pubsub_node),
mnesia:create_table(pubsub_node,
{pubsub_node, {Host, '_'}, '_', '_'}))
end,
{atomic, NewRecords} = mnesia:transaction(F),
{atomic, ok} = mnesia:delete_table(pubsub_node),
{atomic, ok} = mnesia:create_table(pubsub_node,
[{disc_copies, [node()]},
{attributes, record_info(fields, pubsub_node)}]),
lists:foreach(fun(Record) ->
FNew = fun() -> lists:foreach(fun(Record) ->
mnesia:write(Record)
end, NewRecords)
end,
mnesia:transaction(F);
case mnesia:transaction(FNew) of
{atomic, Result} ->
?INFO_MSG("Pubsub tables updated correctly: ~p", [Result]);
{aborted, Reason} ->
?ERROR_MSG("Problem updating Pubsub tables:~n~p", [Reason])
end;
_ ->
ok
end.