gbak multi-database file restore uses wrong minimum number of pages for first database file -------------------------------------------------------------------------------------------
Key: CORE-5976 URL: http://tracker.firebirdsql.org/browse/CORE-5976 Project: Firebird Core Issue Type: Bug Components: GBAK Affects Versions: 4.0 Alpha 1 Environment: Firebird-4.0.0.1352-0_x64 Reporter: Mark Rotteveel I have a Jaybird test that creates a multi-file database using a gbak restore (through the services API). This test creates an artificially small first file. Jaybird instructs Firebird to make the first file 10 pages big, and Firebird then overrides that to 200 pages. This doesn't work correctly, because those 200 pages are not sufficient. As a result the second database file is not created. Firebird 4, the restore logs the following: """ [..] gbak:backup version is 11 gbak:created database C:\Users\Mark\AppData\Local\Temp\junit8203596626416973464\junit4583341152862574241\testrestore1.fdb, page_size 8192 bytes gbak:started transaction gbak:length given for initial file (10) is less than minimum (200) gbak:adding file C:\Users\Mark\AppData\Local\Temp\junit8203596626416973464\junit4583341152862574241\testrestore2.fdb, starting at page 201 gbak:committing secondary files gbak:cannot commit files gbak: ERROR:Starting page number for file C:\USERS\MARK\APPDATA\LOCAL\TEMP\JUNIT8203596626416973464\JUNIT4583341152862574241\TESTRESTORE2.FDB must be 213 or greater gbak:creating indexes [..] """ If the minimum is actually 213 or greater, instead of "gbak:length given for initial file (10) is less than minimum (200)", shouldn't it do "gbak:length given for initial file (10) is less than minimum (**212**)" and create the first database file as 212 pages instead of the 200 it does now? For reference, Firebird 3 does create both database files and logs: """ [..] gbak:backup version is 10 gbak:created database C:\Users\Mark\AppData\Local\Temp\junit10807610804273459707\junit7128503662445743782\testrestore1.fdb, page_size 8192 bytes gbak:started transaction gbak:length given for initial file (10) is less than minimum (200) gbak:adding file C:\Users\Mark\AppData\Local\Temp\junit10807610804273459707\junit7128503662445743782\testrestore2.fdb, starting at page 201 gbak:committing secondary files gbak:creating indexes [..] """ -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel