Subject Re: [Firebird-Architect] Major and Minor ODS Versions
Author Helen Borrie
At 09:56 AM 25/02/2009, Jim Starkey wrote:
>A brief review for the uninitiated. Two rules:
>
> 1. An engine cannot open a database with a different ODS major
> version number

...with a higher ODS major version number than the highest one it supports

> 2. An engine can open a database with a minor version number <= the
> engine's minor version
>
>An ODS major version number change is major intergalactic extinction
>event and is extraordinarily rare.

Ah, how simple it was, so long ago, when galaxies were believed to be finite and immutable.

>An ODS minor version number change is small potatoes and has very few,
>if any ripples.

That's the intention of a minor version number change.

>Change the interpretation of Hdr::pageSize (or whatever it's called in
>Firebird) is no problem if the minor version number is bumped. Old
>versions of the engine won't touch it with a ten foot (3M) pole, but new
>versions with use the actual minor version number of a database to
>interpret the field.
>
>Sean's hack is really a hack at all, but a perfectly reasonable
>redefinition of a field, one of those things that happens when we live
>long enough to get smarter.

Notwithstanding all of the drivers, tools and existing embedded codebases are taught what it means, in time to interpret it properly when confronted with it. Anything with this kind of impact can scarcely be regarded as "small potatoes...having very few, if any, ripples"...which brings us back to an ODS change that is more-than-minor...as any who made the step from 2.0 to 2.1 will testify.

Helen