anchor.diff:      ok.
   
   
  -%% @doc Traverse the backup, removing all nodes except this one.
  -decluster() ->
  -    Node = node(),
  -    Convert =
  -        fun({schema, db_nodes, _}, Acc) ->
  -                {[{schema, db_nodes, [Node]}], Acc};
  -           ({schema, version, Version}, Acc) ->
  -                {[{schema, version, Version}], Acc};
  -           ({schema, cookie, Cookie}, Acc) ->
  -                {[{schema, cookie, Cookie}], Acc};
  -           ({schema, Tab, CreateList}, Acc) ->
  -                Keys = [ram_copies, disc_copies, disc_only_copies],
  -                OptSwitch =
  -                    fun({Key, Val}) ->
  -                            case lists:member(Key, Keys) of
  -                                true ->
  -                                    {Key, case lists:member(Node, Val) of
  -                                              true -> [Node];
  -                                              false -> []
  -                                          end};
  -                                false->
  -                                    {Key, Val}
  -                            end
  -                    end,
  -                {[{schema, Tab, lists:map(OptSwitch, CreateList)}], Acc};
  -           (Tuple, Acc) ->
  -                {[Tuple], Acc}
  -        end,
  -    Source = backup_file(),
  -    Target = tmpdir("mnesia_declustered"),
  -    {ok, switched} = mnesia:traverse_backup(Source, mnesia_backup, Target,
  -                                            mnesia_backup, Convert, switched),
  -    ok = file:rename(Target, Source),
  -    ok.
  -
  -
   %% @private
   %% @doc Exit if Fun hasn't returned within the specified timeout.
   -spec do_with_timeout(fun(), {pid(), any()}, non_neg_integer()) ->
  
positive.code:         {error, {node_not_running, _}} ->
              no;
          E -> E
      end.
  
  
  restore(_Tables, 0) ->
      exit(restore_failed);
  restore(Tables, Tries) ->
      ensure_schema(), % Lay down copies of any new tables
      KeepTables = mnesia:system_info(tables),
      CreateTables = Tables -- KeepTables,
      %% Restore our old data to the new tables
      case mnesia:restore(
             backup_file(),
             [{keep_tables, KeepTables},
              {recreate_tables, CreateTables}]) of
          {atomic, _} ->
              ?log_info("Successfully restored from backup. KeepTables = ~p, "
                        "CreateTables = ~p", [KeepTables, CreateTables]),
              ok = file:delete(backup_file()),
              ok;
          {aborted, {no_exists, T}} ->
              %% We're probably restoring precisely when another node
              %% created a table. Sleep and try again. MB-3415
              ?log_info("Probable collision restoring ~p. Retrying.", [T]),
              timer:sleep(500),
              restore(Tables, Tries-1)
      end.
  
  
  
negative.code: %%
  %% API
  %%
  
  %% @doc Delete the current mnesia schema for joining/renaming purposes.
  delete_schema() ->
  