diff --git a/src/FirebirdSql.Data.FirebirdClient/Services/FbBackup.cs b/src/FirebirdSql.Data.FirebirdClient/Services/FbBackup.cs index 35c83387..a7ea0e9d 100644 --- a/src/FirebirdSql.Data.FirebirdClient/Services/FbBackup.cs +++ b/src/FirebirdSql.Data.FirebirdClient/Services/FbBackup.cs @@ -32,7 +32,7 @@ public sealed class FbBackup : FbService public int Factor { get; set; } public string SkipData { get; set; } public FbBackupFlags Options { get; set; } - public FbBackupRestoreStatistics Statistics { get; set; } + public FbBackupRestoreStatistics? Statistics { get; set; } public FbBackup(string connectionString = null) : base(connectionString) @@ -67,7 +67,8 @@ public void Execute() if (!string.IsNullOrEmpty(SkipData)) startSpb.Append2(IscCodes.isc_spb_bkp_skip_data, SkipData); startSpb.Append(IscCodes.isc_spb_options, (int)Options); - startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration()); + if (Statistics.HasValue) + startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.Value.BuildConfiguration()); if (ConnectionStringOptions.ParallelWorkers > 0) startSpb.Append(IscCodes.isc_spb_bkp_parallel_workers, ConnectionStringOptions.ParallelWorkers); StartTask(startSpb); @@ -113,7 +114,8 @@ public async Task ExecuteAsync(CancellationToken cancellationToken = default) if (!string.IsNullOrEmpty(SkipData)) startSpb.Append2(IscCodes.isc_spb_bkp_skip_data, SkipData); startSpb.Append(IscCodes.isc_spb_options, (int)Options); - startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration()); + if (Statistics.HasValue) + startSpb.Append2(IscCodes.isc_spb_bkp_stat, Statistics.Value.BuildConfiguration()); if (ConnectionStringOptions.ParallelWorkers > 0) startSpb.Append(IscCodes.isc_spb_bkp_parallel_workers, ConnectionStringOptions.ParallelWorkers); await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false); diff --git a/src/FirebirdSql.Data.FirebirdClient/Services/FbRestore.cs b/src/FirebirdSql.Data.FirebirdClient/Services/FbRestore.cs index b52c01c6..86062c70 100644 --- a/src/FirebirdSql.Data.FirebirdClient/Services/FbRestore.cs +++ b/src/FirebirdSql.Data.FirebirdClient/Services/FbRestore.cs @@ -46,7 +46,7 @@ public int? PageSize public bool ReadOnly { get; set; } public string SkipData { get; set; } public FbRestoreFlags Options { get; set; } - public FbBackupRestoreStatistics Statistics { get; set; } + public FbBackupRestoreStatistics? Statistics { get; set; } public FbRestore(string connectionString = null) : base(connectionString) @@ -82,7 +82,8 @@ public void Execute() if (!string.IsNullOrEmpty(SkipData)) startSpb.Append2(IscCodes.isc_spb_res_skip_data, SkipData); startSpb.Append(IscCodes.isc_spb_options, (int)Options); - startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration()); + if (Statistics.HasValue) + startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.Value.BuildConfiguration()); if (ConnectionStringOptions.ParallelWorkers > 0) startSpb.Append(IscCodes.isc_spb_res_parallel_workers, ConnectionStringOptions.ParallelWorkers); StartTask(startSpb); @@ -129,7 +130,8 @@ public async Task ExecuteAsync(CancellationToken cancellationToken = default) if (!string.IsNullOrEmpty(SkipData)) startSpb.Append2(IscCodes.isc_spb_res_skip_data, SkipData); startSpb.Append(IscCodes.isc_spb_options, (int)Options); - startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.BuildConfiguration()); + if (Statistics.HasValue) + startSpb.Append2(IscCodes.isc_spb_res_stat, Statistics.Value.BuildConfiguration()); if (ConnectionStringOptions.ParallelWorkers > 0) startSpb.Append(IscCodes.isc_spb_res_parallel_workers, ConnectionStringOptions.ParallelWorkers); await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false);