DBMS migration in LibreOffice

In 2017, The Document Foundation (TDF) launched four tenders aimed at improving LibreOffice in several strategic areas, and documenting the approach and work carried out, to foster sharing of knowledge and inclusion of the wider volunteer community.

One of the tenders was focused on the implementation of a HSQLDB binary format import in LibreOffice (https://blog.documentfoundation.org/blog/2017/05/04/tender-implement-hsqldb-binary-format-import-libreoffice-201705-03/), and after a careful evaluation by the Foundation’s Board of Directors – with the help of competent and independent volunteers – has been assigned to Collabora.

Tenders are funded by donations, and are supposed to improve LibreOffice in specific areas where the tasks are beyond the capabilities of independent volunteer developers, and also share the knowledge amongst the volunteer community to foster active participation in development and related tasks.

Collabora has developed a mechanism to import database files with high fidelity from the HSQLDB binary file format, used by many existing ODB files, by reading the Java serialization code, and writing a filter to import all data into LibreOffice Base. The objective was to remove the legacy Java/HSQLDB database and to simplify the move to Firebird.

Tamás Bunth, the Hungarian software engineer working at Collabora who has worked at the tender, has extensively reported about the progress and the results on his personal blog:

  1. DBMS migration in LibreOffice: Firebird and HSQLDB schema import
  2. DBMS migration in LibreOffice: HSQLDB binary import
  3. Final steps of LibreOffice database migration
  4. Database migration in LibreOffice: bug fixes and more

The feature is going to be released with LibreOffice 6.1, as an experimental one (to allow some further testing before being officially released with LibreOffice 6.2). So, to access it users have to flag the “enable experimental features” option in Tools > Options > LibreOffice > Advanced. If the option is not enabled, the embedded HSQLDB database engine remains the default for new Base files with LibreOffice 6.1, as in any previous version.

If experimental mode is enabled, the embedded Firebird database engine will not only be enabled but will also become the default, while the embedded HSQLDB database engine – although deprecated – will still be available as an alternative.

LibreOffice Base users are encouraged to migrate their database using the embedded HSQLDB to embedded Firebird new migration assistant (released with LibreOffice 6.1 as part of the tender), which is not using the HSQLDB database engine and will be available in LibreOffice releases even after the embedded HSQLDB support will be fully removed.

At the same time, LibreOffice Base users who want to stick with the HSQLDB database engine should start planning the migration of their database to an external HSQLDB server.