You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Checked on Firebird 3.0.10 SuperServer, both on Windows and Linux.
When I restore the database, gbak returns:
"gbak:cannot commit index FK_NAGL_NAGL_ID_B_NAGL_BL
gbak: ERROR:violation of FOREIGN KEY constraint "FK_NAGL_NAGL_ID_B_NAGL_BL" on table "NAGL"
gbak: ERROR: Foreign key reference target does not exist
gbak: ERROR: Problematic key value is ("ID_NAGL" = 278228)
(...)
gbak:fixing views dbkey length
gbak:updating ownership of packages, procedures and tables
gbak:adding missing privileges
gbak:adjusting system generators
gbak:finishing, closing, and going home
gbak:adjusting the ONLINE and FORCED WRITES flags
gbak:Database is not online due to failure to activate one or more indices.
gbak:Run gfix -online to bring database online without active indices."
This probably behaved differently on Firebird 2.5, the process was stopped on index error, but I'm not sure.
I assume this was made to avoid having unrestorable database but that also results in having no clear information that something went wrong. Having one index error is not terrible, but what I get when having xxx index errors? Then the restored database is pretty useless.
For example, Jaybird returns no exception. Citing @mrotteveel, "Jaybird simply returns the (verbose) output that the service manager provides and throws exception for errors the service call produces".
We were relying on performing a test restore from made backups and if no exception was returned, we assumed the gbk file is correct.
The idea to restore the most data Firebird can get from gkb file is cool, but I don't think there should be returned success on the database restore. Until I make database changes, activate all indices, the database is not usable.
The text was updated successfully, but these errors were encountered:
AlexPeshkoff
changed the title
Restore success, but not completely
Restore success illegally reported when gbak was unable to activate all indices
Feb 6, 2023
Checked on Firebird 3.0.10 SuperServer, both on Windows and Linux.
When I restore the database, gbak returns:
"gbak:cannot commit index FK_NAGL_NAGL_ID_B_NAGL_BL
gbak: ERROR:violation of FOREIGN KEY constraint "FK_NAGL_NAGL_ID_B_NAGL_BL" on table "NAGL"
gbak: ERROR: Foreign key reference target does not exist
gbak: ERROR: Problematic key value is ("ID_NAGL" = 278228)
(...)
gbak:fixing views dbkey length
gbak:updating ownership of packages, procedures and tables
gbak:adding missing privileges
gbak:adjusting system generators
gbak:finishing, closing, and going home
gbak:adjusting the ONLINE and FORCED WRITES flags
gbak:Database is not online due to failure to activate one or more indices.
gbak:Run gfix -online to bring database online without active indices."
This probably behaved differently on Firebird 2.5, the process was stopped on index error, but I'm not sure.
I assume this was made to avoid having unrestorable database but that also results in having no clear information that something went wrong. Having one index error is not terrible, but what I get when having xxx index errors? Then the restored database is pretty useless.
For example, Jaybird returns no exception. Citing @mrotteveel, "Jaybird simply returns the (verbose) output that the service manager provides and throws exception for errors the service call produces".
We were relying on performing a test restore from made backups and if no exception was returned, we assumed the gbk file is correct.
The idea to restore the most data Firebird can get from gkb file is cool, but I don't think there should be returned success on the database restore. Until I make database changes, activate all indices, the database is not usable.
The text was updated successfully, but these errors were encountered: