Subject RE: [IB-Architect] Backward compatability with previous versions of gdb files
Author David Schnepper
During v6 design meetings we discussed writing an "ODS upgrade" utility -- a
relatively simple program for ODS9 to ODS10.

A primary motovation for ODS10 was to prevent v5 engines from accessing the
database. (A V5 engine would not know about the new datatypes
dtype_sql_time, dtype_int64 - and would promptly crash - hopefully without
corrupting any data <grin>). If memory serves, the only actual on-disk
change was converting Generators from 32 bit to 64 bit values -- which would
be a matter of restructuring a handful of pages in the engine.

For quite a while, in development, the v6 engine could read-write both ODS9
and ODS10 - but we eliminated the ability, partially to prevent propagation
if (version11) something() else somethingelse()
type code.


-----Original Message-----
From: Jim Starkey [mailto:jas@...]
Sent: Monday, May 01, 2000 6:39 AM
Subject: Re: [IB-Architect] Backward compatability with previous
versions of gdb files

At 09:55 AM 5/1/00 +1000, Helen Borrie wrote:
>I heartily agree with the argument for not having a client tool that
>upgrades the ODS of the live database. That would be very scary.

The philosphy in DEC's DBMS-11 and VAX DBMS products was just
that -- write a one-time utility to upgrade a database in place.
And when it didn't work -- and there was always an unanticipated
problem -- the customer was left with a database of Jello.

This was one of the two major motivations for the Y-valve architecture
that DEC, Interbase, and now Oracle are enjoying. In the DEC
world, it meant that two completely different database systems,
Rdb/VMS and Rdb/ELN could co-exist on the same system, moving
databases back and forth with a simple backup and restore. One
of the early pieces of Interbase was a VMS image that mimiced
DEC's Y-Valve that through the magic of logical names could
splice in Interbase. One of my early joys at Interbase (then
Groton Database Systems) was readying an Interbase database running
on an Apollo from VAX Datatrieve. Similarly, QLI was completely
capable of accessing an Rdb/VMS system.

Good architecture means eliminating individual attention to
each of the cross product of the feature set. If you look
at software like Legos with clean, interlocking interfaces
you can build much larger, more robust products than if you
you view software as Play-Doh.

Jim Starkey

Join's affiliate program and enjoy numerous benefits.
To learn more click here:

To unsubscribe from this group, send an email to: