HyperSQLOOo logo Documentation

Ce document en français.

The use of this software subjects you to our Terms Of Use.

version 1.1.3

Introduction:

HyperSQLOOo is part of a Suite of LibreOffice and/or OpenOffice extensions allowing to offer you innovative services in these office suites.

This extension allows you:

Attention: If you wish to migrate odb files created with LibreOffice or OpenOffice and HsqlDB version 1.8, it is imperative to use version 1.1.2 or higher of HyperSQLOOo otherwise there is a great risk of data loss. The migration procedure is given in the How to migrate an embedded database section. Whatever happens, keep your backups up to date.

Being free software I encourage you:

In short, to participate in the development of this extension.
Because it is together that we can make Free Software smarter.


Requirement:

The HyperSQLOOo extension uses the jdbcDriverOOo extension to work.
It must therefore meet the requirement of the jdbcDriverOOo extension.

This extension cannot be installed together with the SQLiteOOo extension.
It’s one or the other, but at the moment they can’t work together (see issue #156471).

On Linux and macOS the Python packages used by the extension, if already installed, may come from the system and therefore may not be up to date.
To ensure that your Python packages are up to date it is recommended to use the System Info option in the extension Options accessible by:
Tools -> Options -> Base drivers -> Embedded HsqlDB Driver -> View log -> System Info
If outdated packages appear, you can update them with the command:
pip install --upgrade <package-name>

For more information see: What has been done for version 1.1.0.


Installation:

It seems important that the file was not renamed when it was downloaded.
If necessary, rename it before installing it.

Restart LibreOffice after installation.
Be careful, restarting LibreOffice may not be enough.


Use:

How to create a new database:

In LibreOffice / OpenOffice go to File -> New -> Database…:

HyperSQLOOo screenshot 1

In step: Select database:

HyperSQLOOo screenshot 2

In step: Save and proceed:

HyperSQLOOo screenshot 3

Have fun…

How to migrate an embedded database:

If you want to migrate an integrated database (HsqlDB version 1.8.0) to a newer version (for example 2.7.2), follow these steps:

  1. Make a copy (backup) of your database (odb file).
  2. If not already installed, install this extension and the jdbcDriverOOo extension.
  3. Update driver archive of the HsqlDB driver in: Tools -> Options -> Base drivers -> JDBC driver -> JDBC drivers settings -> Driver archive -> Update, with a version 1.8.0.10.
  4. Restart LibreOffice / OpenOffice after changing the driver (hsqldb.jar).
  5. Open the odb file in Base (double click on the odb file).
  6. In Base go to: Tools -> SQL and type the SQL command: SHUTDOWN COMPACT or SHUTDOWN SCRIPT.

How does it work:

HyperSQLOOo is an com.sun.star.sdbc.Driver UNO service written in Python.
It is an overlay to the jdbcDriverOOo extension allowing to store the HsqlDB database in an odb file (which is, in fact, a compressed file).

Its operation is quite basic, namely:

The main purpose of this mode of operation is to take advantage of the ACID characteristics of the underlying database in the event of an abnormal closure of LibreOffice. On the other hand, the function: file -> Save has no effect on the underlying database. Only closing the odb file or saving it under a different name (File -> Save As) will save the database in the odb file.


Has been tested with:

I encourage you in case of problem :confused:
to create an issue
I will try to solve it :smile:


Historical:

What has been done for version 0.0.1:

What has been done for version 0.0.2:

What has been done for version 0.0.3:

What has been done for version 0.0.4:

What has been done for version 0.0.5:

What has been done for version 1.0.0:

What has been done for version 1.0.1:

What has been done for version 1.0.2:

What has been done for version 1.1.0:

What has been done for version 1.1.1:

What has been done for version 1.1.2:

What has been done for version 1.1.3:

What remains to be done for version 1.1.3: