From d2cba91a0e83a28ee978dc53315e30f3366df94e Mon Sep 17 00:00:00 2001 From: Popa Adrian Marius Date: Sun, 26 Jul 2026 21:31:23 +0300 Subject: [PATCH 1/2] Add the Firebird 5 parallel workers service parameter isc_spb_bkp_parallel_workers (21) and isc_spb_res_parallel_workers, which is the same code, are what gbak -par passes to run a backup or restore with several workers. They are in Firebird's own firebird/impl/consts_pub.h but not in this copy, which predates Firebird 5, so a caller cannot request parallel workers at all. Values taken from the shipped Firebird 6.0.0 header. Verified by sending the parameter through a backup service against a live Firebird 6 server: the server accepts it, and the resulting file restores to a working database. --- client/include/consts_pub.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/include/consts_pub.inc b/client/include/consts_pub.inc index 4d97b22a..b6dc956f 100644 --- a/client/include/consts_pub.inc +++ b/client/include/consts_pub.inc @@ -421,6 +421,9 @@ isc_spb_bkp_skip_data = 8; isc_spb_bkp_stat = 15; isc_spb_bkp_keyholder = 16; + {Firebird 5: number of parallel workers for backup and restore. Values + from firebird/impl/consts_pub.h.} + isc_spb_bkp_parallel_workers = 21; isc_spb_bkp_keyname = 17; isc_spb_bkp_crypt = 18; isc_spb_bkp_include_data = 19; @@ -532,6 +535,7 @@ isc_spb_res_fix_fss_data = 13; isc_spb_res_fix_fss_metadata = 14; isc_spb_res_keyholder = isc_spb_bkp_keyholder; + isc_spb_res_parallel_workers = isc_spb_bkp_parallel_workers; isc_spb_res_keyname = isc_spb_bkp_keyname; isc_spb_res_crypt = isc_spb_bkp_crypt; isc_spb_res_stat = isc_spb_bkp_stat; From 66a973c91b0f3bed89020326d64a9aff0da410ec Mon Sep 17 00:00:00 2001 From: Popa Adrian Marius Date: Sun, 26 Jul 2026 21:41:45 +0300 Subject: [PATCH 2/2] Add the Firebird 5 in-place ODS upgrade repair option constant isc_spb_rpr_upgrade_db (0x1000) is what gfix -upgrade passes to upgrade a database's on-disk structure in place rather than by backup and restore. It is in Firebird's own firebird/impl/consts_pub.h but not in this copy, which predates Firebird 5. Value taken from the shipped Firebird 6.0.0 header. Verified by sending the option through a repair service against a live Firebird 6 server and confirming the assembled parameter is 0x1000 and the request completes. --- client/include/consts_pub.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/include/consts_pub.inc b/client/include/consts_pub.inc index b6dc956f..aad2b634 100644 --- a/client/include/consts_pub.inc +++ b/client/include/consts_pub.inc @@ -522,6 +522,9 @@ isc_spb_rpr_ignore_checksum = $20; isc_spb_rpr_kill_shadows = $40; isc_spb_rpr_full = $80; + {Firebird 5: upgrade the on-disk structure in place, as gfix -upgrade does. + Value from firebird/impl/consts_pub.h.} + isc_spb_rpr_upgrade_db = $1000; isc_spb_rpr_icu = $0800; {**************************************** * Parameters for isc_action_svc_restore *