@@ -274,15 +274,18 @@ static inline void collect_missing_privs(BurpGlobals* tdgbl, USHORT type, const
274274
275275} // namespace
276276
277- bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& local_status_vector )
277+ void activateIndex(BurpGlobals* tdgbl, const char* index_name)
278278{
279+ BURP_verbose(285, index_name);
280+ // activating and creating deferred index %s
281+
279282 bool fError = false;
283+ FbLocalStatus local_status_vector;
280284
281- Firebird::IRequest* req_handle = nullptr;
282- Firebird::ITransaction* activateIndexTran = nullptr;
285+ ITransaction* activateIndexTran = nullptr;
283286 START_TRANSACTION activateIndexTran;
284287
285- FOR (TRANSACTION_HANDLE activateIndexTran REQUEST_HANDLE req_handle )
288+ FOR (TRANSACTION_HANDLE activateIndexTran REQUEST_HANDLE tdgbl->handles_activateIndex_req_handle1 )
286289 IND1 IN RDB$INDICES WITH IND1.RDB$INDEX_NAME EQ index_name
287290 MODIFY IND1 USING
288291 IND1.RDB$INDEX_INACTIVE = FALSE;
@@ -294,8 +297,6 @@ bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& lo
294297 fb_utils::copyStatus(&local_status_vector, isc_status);
295298 END_ERROR;
296299
297- MISC_release_request_silent(req_handle);
298-
299300 if (!fError)
300301 {
301302 COMMIT activateIndexTran;
@@ -307,14 +308,15 @@ bool activateIndex(BurpGlobals* tdgbl, const char* index_name, FbLocalStatus& lo
307308
308309 if (fError)
309310 {
311+ BURP_print(false, 173, index_name);
312+ BURP_print_status(false, &local_status_vector);
313+ tdgbl->flag_on_line = false;
314+
310315 ROLLBACK activateIndexTran;
311316 ON_ERROR
312317 general_on_error();
313318 END_ERROR;
314- return false;
315319 }
316-
317- return true;
318320}
319321
320322int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
@@ -430,17 +432,8 @@ int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
430432 MISC_terminate(IDS.RDB$INDEX_NAME, index_name,
431433 (ULONG)MISC_symbol_length(IDS.RDB$INDEX_NAME, sizeof(IDS.RDB$INDEX_NAME)),
432434 sizeof(index_name));
433- BURP_verbose(285, index_name);
434- // activating and creating deferred index %s
435435
436- FbLocalStatus local_status_vector;
437-
438- if (!activateIndex(tdgbl, index_name, local_status_vector))
439- {
440- BURP_print(false, 173, index_name);
441- BURP_print_status(false, &local_status_vector);
442- tdgbl->flag_on_line = false;
443- }
436+ activateIndex(tdgbl, index_name);
444437 END_FOR;
445438 ON_ERROR
446439 general_on_error ();
@@ -474,16 +467,8 @@ int RESTORE_restore (const TEXT* file_name, const TEXT* database_name)
474467 MISC_terminate(IDS.RDB$INDEX_NAME, index_name,
475468 (ULONG) MISC_symbol_length(IDS.RDB$INDEX_NAME, sizeof(IDS.RDB$INDEX_NAME)),
476469 sizeof(index_name));
477- BURP_verbose(285, index_name);
478- // activating and creating deferred index %s
479- FbLocalStatus local_status_vector;
480470
481- if (!activateIndex(tdgbl, index_name, local_status_vector))
482- {
483- BURP_print(false, 173, index_name);
484- BURP_print_status(false, &local_status_vector);
485- tdgbl->flag_on_line = false;
486- }
471+ activateIndex(tdgbl, index_name);
487472 END_FOR;
488473 ON_ERROR
489474 general_on_error ();
0 commit comments