Browse Source

change_storage(Type)

Maxim Sokhatsky 10 years ago
parent
commit
65c35e51b2
2 changed files with 4 additions and 0 deletions
  1. 2 0
      src/kvs.erl
  2. 2 0
      src/store_mnesia.erl

+ 2 - 0
src/kvs.erl

@@ -22,6 +22,8 @@
 start() -> DBA = ?DBA, DBA:start().
 stop() -> DBA = ?DBA, DBA:stop().
 
+change_storage(Type) -> [ change_storage(Name,Type) || #table{name=Name} <- kvs:tables() ].
+change_storage(Table,Type) -> DBA = ?DBA, DBA:change_storage(Table,Type).
 destroy() -> DBA = ?DBA, DBA:destroy().
 join() -> DBA = ?DBA, DBA:join().
 join(Node) -> DBA = ?DBA, DBA:join(Node).

+ 2 - 0
src/store_mnesia.erl

@@ -18,6 +18,8 @@ join(Node) ->
      || {Tb, [{N, Type}]} <- [{T, mnesia:table_info(T, where_to_commit)}
                                || T <- mnesia:system_info(tables)], Node==N].
 
+change_storage(Table,Type) -> mnesia:change_table_copy_type(Table, node(), Type).
+
 initialize() ->
     kvs:info(?MODULE,"[store_mnesia] mnesia init.~n",[]),
     mnesia:create_schema([node()]),