Skip to content

Commit b492cce

Browse files
committed
Creation of backup and restore statistics can be switched off to support Firebird Server 2.0.
1 parent a5356c6 commit b492cce

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public sealed class FbBackup : FbService
3232
public int Factor { get; set; }
3333
public string SkipData { get; set; }
3434
public FbBackupFlags Options { get; set; }
35+
public bool IncludeStatistics { get; set; } = true;
3536
public FbBackupRestoreStatistics Statistics { get; set; }
3637

3738
public FbBackup(string connectionString = null)
@@ -67,7 +68,8 @@ public void Execute()
6768
if (!string.IsNullOrEmpty(SkipData))
6869
startSpb.Append2(IscCodes.isc_spb_bkp_skip_data, SkipData);
6970
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
70-
startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration());
71+
if (IncludeStatistics)
72+
startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration());
7173
if (ConnectionStringOptions.ParallelWorkers > 0)
7274
startSpb.Append(IscCodes.isc_spb_bkp_parallel_workers, ConnectionStringOptions.ParallelWorkers);
7375
StartTask(startSpb);
@@ -113,7 +115,8 @@ public async Task ExecuteAsync(CancellationToken cancellationToken = default)
113115
if (!string.IsNullOrEmpty(SkipData))
114116
startSpb.Append2(IscCodes.isc_spb_bkp_skip_data, SkipData);
115117
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
116-
startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration());
118+
if (IncludeStatistics)
119+
startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration());
117120
if (ConnectionStringOptions.ParallelWorkers > 0)
118121
startSpb.Append(IscCodes.isc_spb_bkp_parallel_workers, ConnectionStringOptions.ParallelWorkers);
119122
await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false);

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public int? PageSize
4646
public bool ReadOnly { get; set; }
4747
public string SkipData { get; set; }
4848
public FbRestoreFlags Options { get; set; }
49+
public bool IncludeStatistics { get; set; } = true;
4950
public FbBackupRestoreStatistics Statistics { get; set; }
5051

5152
public FbRestore(string connectionString = null)
@@ -82,7 +83,8 @@ public void Execute()
8283
if (!string.IsNullOrEmpty(SkipData))
8384
startSpb.Append2(IscCodes.isc_spb_res_skip_data, SkipData);
8485
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
85-
startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration());
86+
if (IncludeStatistics)
87+
startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration());
8688
if (ConnectionStringOptions.ParallelWorkers > 0)
8789
startSpb.Append(IscCodes.isc_spb_res_parallel_workers, ConnectionStringOptions.ParallelWorkers);
8890
StartTask(startSpb);
@@ -129,7 +131,8 @@ public async Task ExecuteAsync(CancellationToken cancellationToken = default)
129131
if (!string.IsNullOrEmpty(SkipData))
130132
startSpb.Append2(IscCodes.isc_spb_res_skip_data, SkipData);
131133
startSpb.Append(IscCodes.isc_spb_options, (int)Options);
132-
startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration());
134+
if (IncludeStatistics)
135+
startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration());
133136
if (ConnectionStringOptions.ParallelWorkers > 0)
134137
startSpb.Append(IscCodes.isc_spb_res_parallel_workers, ConnectionStringOptions.ParallelWorkers);
135138
await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false);

0 commit comments

Comments
 (0)