Subject Re: [firebird-support] Firebird Backup file in version 2 rc 2 is now nontransportable
Author Ann W. Harrison
robertgilland wrote:
> We have been using Firebird 2 rc 2.
> We ran a backup and then tried to
> restore in Firebird 1.5 we got this
> error:
> Expected backup version 1, 2, or 3. Found 7
> We now cannot go back.

Dig out the gbak program from 1.5, but don't uninstall 2.0.
Using the 2.0 server and the 1.5 backup, backup the database.
Then uninstall the 2.0 server and reinstall the 1.5 server.
The backup file will restore on 1.5, but will drop any 2.0
features you may have used.

The gbak program for version x looks for system table attributes
known to version x and ignores newer features. Attributes are
stores with an attribute number then a value, but without the
length of the attribute. Thus a version x-1 gbak reading a
version x backup file will encounter attributes it does not
understand and can not ignore, and the restore will fail. To
prevent that, the gbak file has a version number that prevents
an older gbak from trying to restore a newer backup file.

The transportable option is irrelevant in this case.
"Transportability" deals with data representation, alignment,
and "endianness" differences between operating systems and
hardware architectures. It has nothing to do with version
to version compatibility. The fact that an older gbak
program can still read and understand the basic features of
a newer database gives version to version compatibility.