@@ -122,6 +122,7 @@ init([]) ->
122122 couch_event :link_listener (? MODULE , handle_db_event , nil , [all_dbs ]),
123123 RootDir = couch_index_util :root_dir (),
124124 couch_file :init_delete_dir (RootDir ),
125+ couch_file :init_recovery_dir (RootDir ),
125126 {ok , # st {root_dir = RootDir }}.
126127
127128
@@ -154,13 +155,13 @@ handle_call({async_error, {DbName, _DDocId, Sig}, Error}, _From, State) ->
154155 [gen_server :reply (From , Error ) || From <- Waiters ],
155156 ets :delete (? BY_SIG , {DbName , Sig }),
156157 {reply , ok , State };
157- handle_call ({reset_indexes , Options }, _From , State ) ->
158- reset_indexes (Options , State # st .root_dir ),
158+ handle_call ({reset_indexes , DbName , Options }, _From , State ) ->
159+ reset_indexes (DbName , State # st .root_dir , Options ),
159160 {reply , ok , State }.
160161
161162
162- handle_cast ({reset_indexes , Options }, State ) ->
163- reset_indexes (Options , State # st .root_dir ),
163+ handle_cast ({reset_indexes , DbName , Options }, State ) ->
164+ reset_indexes (DbName , State # st .root_dir , Options ),
164165 {noreply , State }.
165166
166167handle_info ({'EXIT' , Pid , Reason }, Server ) ->
@@ -219,8 +220,7 @@ new_index({Mod, IdxState, DbName, Sig}) ->
219220 end .
220221
221222
222- reset_indexes (Options , Root ) ->
223- DbName = couch_util :get_value (db_name , Options ),
223+ reset_indexes (DbName , Root , Options ) ->
224224 % shutdown all the updaters and clear the files, the db got changed
225225 Fun = fun ({_ , {DDocId , Sig }}) ->
226226 [{_ , Pid }] = ets :lookup (? BY_SIG , {DbName , Sig }),
@@ -231,7 +231,8 @@ reset_indexes(Options, Root) ->
231231 end ,
232232 lists :foreach (Fun , ets :lookup (? BY_DB , DbName )),
233233 Path = couch_index_util :index_dir (" " , DbName ),
234- couch_file :nuke_dir (Root , Path , Options ).
234+ Options1 = [{db_name , DbName } | Options ],
235+ couch_file :nuke_dir (Root , Path , Options1 ).
235236
236237
237238add_to_ets (DbName , Sig , DDocId , Pid ) ->
@@ -247,10 +248,10 @@ rem_from_ets(DbName, Sig, DDocId, Pid) ->
247248
248249
249250handle_db_event (DbName , created , St ) ->
250- gen_server :cast (? MODULE , {reset_indexes , [{ db_name , DbName }, { context , []} ]}),
251+ gen_server :cast (? MODULE , {reset_indexes , DbName , [ ]}),
251252 {ok , St };
252253handle_db_event (DbName , deleted , St ) ->
253- gen_server :cast (? MODULE , {reset_indexes , [{ db_name , DbName }, {context , delete }]}),
254+ gen_server :cast (? MODULE , {reset_indexes , DbName , [ {context , delete }]}),
254255 {ok , St };
255256handle_db_event (DbName , {ddoc_updated , DDocId }, St ) ->
256257 lists :foreach (fun ({_DbName , {_DDocId , Sig }}) ->
0 commit comments