@@ -275,15 +275,18 @@ static inline void collect_missing_privs(BurpGlobals* tdgbl, USHORT type, const
275275
276276} // namespace
277277
278- bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& local_status_vector )
278+ void activateIndex(BurpGlobals* tdgbl, const char* index_name)
279279{
280+ BURP_verbose(285, index_name);
281+ // activating and creating deferred index %s
282+
280283 bool fError = false;
284+ FbLocalStatus local_status_vector;
281285
282- Firebird::IRequest* req_handle = nullptr;
283- Firebird::ITransaction* activateIndexTran = nullptr;
286+ ITransaction* activateIndexTran = nullptr;
284287 START_TRANSACTION activateIndexTran;
285288
286- FOR (TRANSACTION_HANDLE activateIndexTran REQUEST_HANDLE req_handle )
289+ FOR (TRANSACTION_HANDLE activateIndexTran REQUEST_HANDLE tdgbl->handles_activateIndex_req_handle1 )
287290 IND1 IN RDB$INDICES WITH IND1.RDB$INDEX_NAME EQ index_name
288291 MODIFY IND1 USING
289292 IND1.RDB$INDEX_INACTIVE = FALSE;
@@ -295,8 +298,6 @@ bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& lo
295298 fb_utils::copyStatus(&local_status_vector, isc_status);
296299 END_ERROR;
297300
298- MISC_release_request_silent(req_handle);
299-
300301 if (!fError)
301302 {
302303 COMMIT activateIndexTran;
@@ -308,14 +309,15 @@ bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& lo
308309
309310 if (fError)
310311 {
312+ BURP_print(false, 173, index_name);
313+ BURP_print_status(false, &local_status_vector);
314+ tdgbl->flag_on_line = false;
315+
311316 ROLLBACK activateIndexTran;
312317 ON_ERROR
313318 general_on_error();
314319 END_ERROR;
315- return false;
316320 }
317-
318- return true;
319321}
320322
321323int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
@@ -431,17 +433,8 @@ int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
431433 MISC_terminate(IDS.RDB$INDEX_NAME, index_name,
432434 (ULONG)MISC_symbol_length(IDS.RDB$INDEX_NAME, sizeof(IDS.RDB$INDEX_NAME)),
433435 sizeof(index_name));
434- BURP_verbose(285, index_name);
435- // activating and creating deferred index %s
436436
437- FbLocalStatus local_status_vector;
438-
439- if (!activateIndex(tdgbl, index_name, local_status_vector))
440- {
441- BURP_print(false, 173, index_name);
442- BURP_print_status(false, &local_status_vector);
443- tdgbl->flag_on_line = false;
444- }
437+ activateIndex(tdgbl, index_name);
445438 END_FOR;
446439 ON_ERROR
447440 general_on_error ();
@@ -475,16 +468,8 @@ int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
475468 MISC_terminate(IDS.RDB$INDEX_NAME, index_name,
476469 (ULONG) MISC_symbol_length(IDS.RDB$INDEX_NAME, sizeof(IDS.RDB$INDEX_NAME)),
477470 sizeof(index_name));
478- BURP_verbose(285, index_name);
479- // activating and creating deferred index %s
480- FbLocalStatus local_status_vector;
481471
482- if (!activateIndex(tdgbl, index_name, local_status_vector))
483- {
484- BURP_print(false, 173, index_name);
485- BURP_print_status(false, &local_status_vector);
486- tdgbl->flag_on_line = false;
487- }
472+ activateIndex(tdgbl, index_name);
488473 END_FOR;
489474 ON_ERROR
490475 general_on_error ();
0 commit comments