Moving Files Between Platforms
Valentina allows you to move database files transparently between operating systems.
Different platforms can use different byte orders. For example MacOS on PPC computers use BigEndian, but MacOS X on INTEL CPU and Windows use Litle Endian byte order. Therefore binary file created on MacOS PPC cannot be used on Windows as is.
To resolve this problem, Valentina marks each volume in the its header which byte order have information of this volume.
On VDatabase.Open() Valentina checks the byte order of volume. If the byte order is the same to OS byte order, then Valentina engine uses information as is, without any overhead. If file has other byte order, then Valentina engine enables mechanism of byte swapping for this volume.
Encoding of String Fields
Another problem that arise with moving of database files between platforms is encoding of strings.
Really, if you work on Windows then you can use e.g. Cyrillic Win encoding. Working with such database on Mac OS you may need to get strings in Cyrillic Mac encoding. Valentina do such conversion of encoding on the fly.