Issue Details (XML | Word | Printable)

Key: CORE-5791
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Alexander Peshkov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

ODS for windows builds and linux-x64 (on the one side) and linux-x86 (on the other side) does not match

Created: 11/Apr/18 05:15 PM   Updated: 21/Jun/18 05:11 PM
Component/s: Engine
Affects Version/s: 4.0 Initial, 3.0.0, 3.0.1, 3.0.2, 4.0 Alpha 1, 3.0.3
Fix Version/s: 3.0.4, 4.0 Beta 1

Environment: linux

QA Status: Cannot be tested


 Description  « Hide
When opening database created by windows or by linux-x64 engine to linux-x86 engine one gets wrong values for all generators.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 11/Apr/18 05:34 PM
Fix for both branches includes a watchdog AWK script checking for correctness of sizes and offsets in ods.h.

In master branch ods.h is just corrected - that means that since this commit engine will always { I hope:) } create databases with same binary layout for all platforms. At the same time old ODS13 databases created on linux x86 become unreadable - if one really needs such DB it should be backed up by gbak using old engine and next restored with new one.

In B3_0_Release we have minor ODS change - current ODS is 12.1. Databases with ODS 12.1 will have same binary layout for all platforms. When trying to access 12.0 databases the following rules apply:
- we can always open database created on exactly same platform, old generators page layout is used no matter is it correct or buggy from compatibility POV;
- old databases created on known platforms (currently it's linux&windows on intel/amd 32/64 bit chips), appropriate generators page layout is hardcoded for known platforms;
- in other case (like trying to open AIX 12.0 database on HPUX machine with 12.1 engine) an error is thrown.

Dimitry Sibiryakov added a comment - 12/Apr/18 10:29 AM
Change ODS in post-release without any discussion and choose number which is already in use by Avalerion... Wow...

Alexander Peshkov added a comment - 21/Jun/18 04:54 PM
Added asked by a lot of users hack keeping on platforms where ODS actually did not change old (12.0) number