Subject SV: [firebird-support] Common file structure in Linux/Windows/32/64?
Author Poul Dige
Thanks, Ann, for your explanation!

Personally I feel better when doing backup/restore but our supporters find it easier to work with a database locally on their Win32/64 machines and then via e.g. WinSCP to upload the database to a Ubuntu 64 bit server.

When I first heard it I told them that it was not be allowed to do so, but I had to admit that it worked. Now I understand that I should thank the FB-developers for that :) and continue to point them towards the correctness of doing backup/restore rather than file copy!

Kind regards
Poul

Fra: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] På vegne af Ann Harrison
Sendt: 15. juni 2011 18:18
Til: firebird-support@yahoogroups.com
Emne: Re: [firebird-support] Common file structure in Linux/Windows/32/64?



On Wed, Jun 15, 2011 at 9:29 AM, Poul Dige <pd@...<mailto:pd%40tabulex.dk>> wrote:
> Could anybody tell wheter or not it is legal to move a .FDB file between 32 and 64 bit server versions, and different Linux and Windows distributions? I.e. can I move a .FDB file from a win32 server to a Ubuntu 64 bit server with 64 bit Firebird server running on it? (Tests indicate that it is possible...).
>

Fortunately, very little in database management has the power of law,
except natural laws that some things work and some things don't, and
some things appear to work in limited testing and blow up all over
when you release them to customers.

Firebird uses native "endian" and alignment characteristics both in
memory and on disk. That used to be a big deal when there were dozens
of processor families and operating systems that did things
differently. (I once worked on a COBOL compiler that had two
different integer types, one big-endian, one little endian because the
developers guessed wrong about the native behavior of a PDP_11.)

The Firebird developers when to some trouble to insure that 64 and 32
bit servers stored bits on disk exactly the same way, starting with
the first official 64 bit releases. So your problem is not with Linux
or Windows or 32 or 64 bit architectures, but with endianness and
alignment. A 32-bit SPARC running Linux or a 64 bit CRAY running
anything is going to require a backup/restore. An Intel almost
anything is safe.

But Helen will tell you, and she's right, that back/restore is a
better way to move databases than copying them.

Cheers,

Ann



[Non-text portions of this message have been removed]