LO Base HSQLDB or Firebird

Some years ago I created an embedded database, originally using HSQLDB and came across a problem and was advised to migrate to Firebird because HSQLDB was likely to be deprecated.

I migrated to Firebird in 2020 (with great difficulty) and since then my database has grown and also new functionality has been added.

I’m currently using:-
Version: 25.8.0.4 (X86_64)
Build ID: 48f00303701489684e67c38c28aff00cd5929e67
CPU threads: 16; OS: Linux 6.14; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded

Today I tried creating a test database (to test some new functionality) but there was no option to create a Firebird embedded database, only HSQLDB.
This concerns me, is Firebird no longer the preferred database, it can be enabled by adding “Enable experimental features (may be unstable)” within “Tools/Options/Advanced”.

Should I now migrate it back to HSQLDB (with great difficulty again). It’s a fairly large database with 10 tables, 15 queries, 7 forms and 3 reports???

I can’t share it i’m afraid because it contains personal data governed by UKGDPR.

If it aint broke, don’t fix it.

You haven’t mentioned any problems with Firebird. If it’s been stable for you so far, it will probably continue to be stable.

1 Like

They could not reach their (difficult) goals:

  • “full” intergration of Firebird in the GUI as with HSQLDB (to many little differences …)
  • the idea of a wizard to convert old HSQLDB-files to Firebird was not working. (And IMHO the available version should not be used or only with great care/backups)

Realizing this, they put Firebird back to experimental, but there is nothing wrong with Firebird itself.

No need for this.
.
We can also use other databases like Postgres, MariaDB, Sqlite etc. with Base. They may not be completely integrated in the GUI, but work reliable in Base.

1 Like

Ok, that’s good to know.

There have been a number of crashes, probably 1 or two a month, but so far it has always been recoverable. Needles to say I have kept very regular backups.

I might consider splitting, but I really don’t know how to do this.

Tutorial on splitting: It’s for HSQLDB, but it explains why you need to split the database to avoid corruption.

How to split a firebird embedded database: One person describes how he split a Firebird db, & someone else suggests a possibly easier way of doing it.

Don’t rush into it. Try to get a feel for what you’re doing before you do it.

1 Like

I strongly recommend splitting.

  • Open the LibreOffice path settings and fInd out where temporary files are stored.
  • Open the database and click the tables sections. This extracts your database to some temporary subfolder.
  • In a most recent subfolder of your temp folder, you will find a file firebird.fdb. Copy this file to a non-temporary place and rename it to something meaningful like some_name.fdb.
  • menu:File>New>Database>Connect to existing of type “Firebird External”.
  • Connect it to your .fdb file and skip the registration step for now.
  • Now you should see the same tables and the same relations as in your embedded database document.
  • Open both windows side by side, open the query containers and drag over the query icons one by one.
  • Do the same with forms, reports and transfer any macros embedded in the old document, so they appear in equally named libraries and modules.
  • If your old database used to be registered, point the registration entry to the new database.
1 Like

Villeroy, Thank you.
Your method seem to be much easier to follow than others I’ve seen
I’ve followed your steps and everything seems to be working fine.
My queries, forms and reports all seem to work. (I don’t have any macro’s - I had to ditch them when I originally migrated from HSQLDB to firebird 5 years ago).
The file size seems to have gone down from 207k to 103k. Am I right in assuming that this is because my file now only holds the data and not LibreOffice base overhead?

I might continue to update both versions (the embedded and split) for a short time until I’m 100% confident that alls OK.

The Base document contains all the overhead but no data anymore. All the data are in the fdb file.

@BrianStew @Villeroy Since these instructions worked & seem to be relatively easy, it would be nice to make it easier for anyone else splitting a Firebird database to find it. Could BrianStew post a question similar to “How do I split a Firebird database” & Villeroy repost his instructions?

Maybe Menu>Tools>Options>LibreOffice>Advanced>Enable experimental features is not checked.