Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ODS for windows builds and linux-x64 (on the one side) and linux-x86 (on the other side) does not match [CORE5791] #6054

Closed
firebird-automations opened this issue Apr 11, 2018 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @AlexPeshkoff

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

Commits: 8f94aec aaf37e6 da0bde9 a545b78 a8e1ff3 affb398

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

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.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 4.0 Beta 1 [ 10750 ]

Fix Version: 3.0.4 [ 10863 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @aafemt

Change ODS in post-release without any discussion and choose number which is already in use by Avalerion... Wow...

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Added asked by a lot of users hack keeping on platforms where ODS actually did not change old (12.0) number

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Cannot be tested

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment