Bug 139538 - Cannot load HsqlDB other than 1.8.0
Summary: Cannot load HsqlDB other than 1.8.0
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
6.3 all versions
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-11 13:25 UTC by prrvchr
Modified: 2024-11-05 02:25 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description prrvchr 2021-01-11 13:25:41 UTC
Hi,

On LibreOffice (6.x and 7.x and maybe even 5.x) under Linux, if you have installed the package: libreoffice-sdbc-hsqldb (which installs libhsqldb1.8.0-java), then it is impossible to load a hsqldb.jar driver other than version 1.8.0.

How to reproduce:

- Install the extension HsqlDBDriverOOo from the download link: https://github.com/prrvchr/HsqlDBDriverOOo/releases/download/v0.0.3/HsqlDBDriverOOo.oxt

Go to: Tools -> Options -> Base drivers -> HsqlDB driver, and see the driver version:

- If packages: libreoffice-sdbc-hsqldb and libhsqldb1.8.0-java are installed, version displays 1.8.0.

- If the packages: libreoffice-sdbc-hsqldb and libhsqldb1.8.0-java are not installed, version displays 2.5.1 which is the version of the hsqldb.jar file supplied with the extension.

To work around this problem, I wrote another extension HsqlDBembeddedOOo, available on this link: https://github.com/prrvchr/HsqlDBembeddedOOo/releases/download/v0.0.3/HsqlDBembeddedOOo.oxt, allowing LibreOffice users on Linux to use the HsqlDB Embedded functionality and a newer version of the HsqlDB driver simultaneously.

OpenOffice and LibreOffice on Windows do not seem to be affected by this malfunction.
Comment 1 Julien Nabet 2021-01-11 18:10:02 UTC
Noticing your interest in this part, would you be interested in contributing directly in LO?
Indeed, it seems you already did quite a good part of the job:
- analyzed the pb
- proposed a fix (even if it's an extension in Python and not native C++ code).

In order you have an idea, here's a link:
https://wiki.documentfoundation.org/Development/GetInvolved

Here are the steps:
1) Retrieve source code with git
2) Build the code (it can take some hours depending on the power of your machine and the options you give to the build)

Then:
3) Provide license statement
4) Create an account on gerrit

And you're ready to hack!

Here are some other hints to help:
- to search the code:
   - https://opengrok.libreoffice.org/
   or
   - "git grep" which will be faster than a simple "fgrep"

Part (all?) of HSQLDB support in LO is in:
connectivity/source/drivers/hsqldb

Now the pb is, except Lionel that I put in cc and who has almost no time now for LO, I don't know who will be able to review your patches and so will be able to push them on git repo.

Lionel: of course if prrvchr is interested in contributing, would you be interested in "mentoring"/"reviewing" him or know someone who may do it?
Comment 2 Alex Thurgood 2022-06-24 09:51:42 UTC
(In reply to prrvchr from comment #0)


> How to reproduce:
> 
> - Install the extension HsqlDBDriverOOo from the download link:
> https://github.com/prrvchr/HsqlDBDriverOOo/releases/download/v0.0.3/
> HsqlDBDriverOOo.oxt
> 

@pvrrvchr : just so you know, I downloaded and installed your latest OXT from github on the macOS (Arm) version of LibreOffice and it seems to work OK - great stuff ! Thanks !
Comment 3 prrvchr 2022-06-24 13:10:50 UTC
Hi Alex,

Nice to know that it work on macOS (Arm) version of LibreOffice.
Your welcome, enjoy...
Comment 4 prrvchr 2023-02-05 23:16:08 UTC
Just to tell you that the HsqlDBDriverOOo extension has been renamed by jdbcDriverOOo: https://prrvchr.github.io/jdbcDriverOOo/

And that it now includes several JDBC drivers (HsqlDB, H2, Apache Derby, SQLite JDBC Driver, MariaDB Connector/J, SmallSQL)

I do not hide from you that apart from HsqlDB where almost complete tests have been carried out, the other drivers must suffer from some malfunctions in Base
Comment 5 Alex Thurgood 2024-02-20 10:21:39 UTC
(In reply to prrvchr from comment #4)
> Just to tell you that the HsqlDBDriverOOo extension has been renamed by
> jdbcDriverOOo: https://prrvchr.github.io/jdbcDriverOOo/
> 

This extension (v 1.1.5) fails to install on macOS Arm and causes a hung soffice process, please see bug 159790
Comment 6 trunnelshine 2024-11-05 02:25:08 UTC
(In reply to prrvchr from comment #0)
> Hi,
> 
> On LibreOffice (6.x and 7.x and maybe even 5.x) under Linux, if you have
> installed the package: libreoffice-sdbc-hsqldb (which installs
> libhsqldb1.8.0-java), then it is impossible to load a hsqldb.jar driver
> other than version 1.8.0.
> 
> How to reproduce:
> 
> - Install the extension HsqlDBDriverOOo from the download link:
> https://github.com/prrvchr/HsqlDBDriverOOo/releases/download/v0.0.3/
> HsqlDBDriverOOo.oxt
> 
> Go to: Tools -> Options -> Base drivers -> HsqlDB driver, and see the driver
> version:
> 
> - If packages: libreoffice-sdbc-hsqldb and libhsqldb1.8.0-java are
> installed, version displays 1.8.0.
> 
> - If the packages: libreoffice-sdbc-hsqldb and libhsqldb1.8.0-java are not
> installed, version displays 2.5.1 which is the version of the hsqldb.jar
> file supplied with the extension.
> 
> To work around this problem, I wrote another extension HsqlDBembeddedOOo,
> available on this link:
> https://github.com/prrvchr/HsqlDBembeddedOOo/releases/download/v0.0.3/ https://snow-rider.io/
> HsqlDBembeddedOOo.oxt, allowing LibreOffice users on Linux to use the HsqlDB
> Embedded functionality and a newer version of the HsqlDB driver
> simultaneously.
> 
> OpenOffice and LibreOffice on Windows do not seem to be affected by this
> malfunction.

Remove Default HSQLDB Package:
sudo apt remove libreoffice-sdbc-hsqldb libhsqldb1.8.0-java
LibreOffice will then use the newer driver from your extension.
Use HsqlDBembeddedOOo Extension:
This extension enables both embedded HSQLDB functionality and updated drivers.
Custom Driver Path:
Specify the new driver path in LibreOffice settings, if configurable.
Note for Windows and OpenOffice Users
As you observed, this issue doesn’t affect Windows or OpenOffice installations, likely because they do not rely on the libhsqldb1.8.0-java package by default.