Skip to content

Commit 8d6552d

Browse files
committed
Parallel workers support for "gfix". (#1065)
1 parent 89733c7 commit 8d6552d

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/FirebirdSql.Data.FirebirdClient/Common/IscCodes.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,7 @@ internal static class IscCodes
606606
public const int isc_spb_rpr_commit_trans_64 = 49;
607607
public const int isc_spb_rpr_rollback_trans_64 = 50;
608608
public const int isc_spb_rpr_recover_two_phase_64 = 51;
609+
public const int isc_spb_rpr_par_workers = 52;
609610

610611
public const int isc_spb_rpr_validate_db = 0x01;
611612
public const int isc_spb_rpr_sweep_db = 0x02;

src/FirebirdSql.Data.FirebirdClient/Services/FbValidation.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public void Execute()
4444
startSpb.Append(IscCodes.isc_action_svc_repair);
4545
startSpb.Append2(IscCodes.isc_spb_dbname, Database);
4646
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
47+
if (ConnectionStringOptions.ParallelWorkers > 0)
48+
startSpb.Append(IscCodes.isc_spb_rpr_par_workers, ConnectionStringOptions.ParallelWorkers);
4749
StartTask(startSpb);
4850
ProcessServiceOutput(new ServiceParameterBuffer2(Service.ParameterBufferEncoding));
4951
}
@@ -70,6 +72,8 @@ public async Task ExecuteAsync(CancellationToken cancellationToken = default)
7072
startSpb.Append(IscCodes.isc_action_svc_repair);
7173
startSpb.Append2(IscCodes.isc_spb_dbname, Database);
7274
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
75+
if (ConnectionStringOptions.ParallelWorkers > 0)
76+
startSpb.Append(IscCodes.isc_spb_rpr_par_workers, ConnectionStringOptions.ParallelWorkers);
7377
await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false);
7478
await ProcessServiceOutputAsync(new ServiceParameterBuffer2(Service.ParameterBufferEncoding), cancellationToken).ConfigureAwait(false);
7579
}

0 commit comments

Comments
 (0)