Hi,

Am 26.01.25 um 18:19 schrieb Damyan Ivanov:
Of course, there may be corner cases in LO's usage of firebird. Please
let me know if you encounter some.

LO usage is as-follows (quoting from 
https://gerrit.libreoffice.org/c/core/+/151214):

"Firebird has two primary file types:

Databases - FDB files. These are version-specific, platform-specific, optimized 
for performance, and thus incompatible between versions. These are what those 
comments are about. Initially, when FB integration was considered, these files 
were evaluated for ODBs, but were rejected because of the said incompatibility 
- even when the version is the same, it will differ on big endian architecture 
and little endian one. The problem discussed in those comments is when people 
open stand-alone FDBs that are shipped e.g. with FB installation itself, not 
when people open ODBs.

Database backups - FBKs. These are what we use inside ODBs. These are designed 
to be compatible, independent of architecture; and later versions of FB are 
always able to open FBKs created in older FB versions.

Our embedded FB is used like this:

1. FBK is extracted from ODB;
2. Embedded FB extracts the compatible FBK into an incompatible FDB (specific 
to this version of embedded FB DLL);
3. FB works with this temporary FDB;
4. When saving ODB, embedded FB backups the FDB into FBK again, and that is 
stored inside the ODB.

It, indeed, creates additional performance penalty, but makes the ODB readable by 
all the future LO versions, no matter what future FB version they embed."


And that apparently (not deep into it) needs libEngine12.so from 
-3.0-server-core (and now appantly -4.0-server-core, so probably 
libEngine13.so?) if build with 4.0s firebird-dev.


Regards,


Rene

Reply via email to