Bug 44854 - Upgrade bundled HSQLDB to 2.x
Summary: Upgrade bundled HSQLDB to 2.x
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Database (show other bugs)
Version: Master old -3.6
Hardware: All All
: medium enhancement
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard: NeedsDevEval
Keywords:
Depends on: 53333 51781
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-17 03:17 UTC by Lionel Elie Mamane
Modified: 2015-01-03 17:41 UTC (History)
9 users (show)

See Also:
i915 platform:
i915 features:


Attachments
warning of newer version of hsqldb (20.24 KB, image/png)
2012-01-23 03:26 UTC, Zoltán Reizinger
Details

Description Lionel Elie Mamane 2012-01-17 03:17:53 UTC
Upgrading the bundled HSQLDB to the latest 2.x would bring new features and better ANSI SQL support for embedded-in-odb-file databases. See e.g. bug 39872, and also support for "IS [NOT] DISTINCT FROM" comparisons.

The HSQL developers pledge to collaborate with us on that. See http://hsqldb.org/web/openoffice.html

There is also a OO.org CWS with work on that, namely hsqldb19; so maybe there is some work at Apache OpenOffice on that?
Comment 1 Zoltán Reizinger 2012-01-18 10:31:50 UTC
The original developer of cws hsqldb19 left OOo, and if I know correctly will not work on Apache version.

I was involved in QA work, but I'm not a software coder, and know nothing about the details.

When we finished the cws work it was ready for integration, but it could cause so much changes in UI background, postponed to next version OOo 3.5.

Now I suggested at Apache PPMC integrate the hsqldb19 cws into AOO 3.5.

I had installed cws version on my win7, and update the hsqldb in every time when new wersion came out, now the 2.2.7 is the latest version, which need to some checks. May be I have the installation set somewhere in my computer. 

Every new hsqldn I test:
-open exesting file
-create new file
-open same files created in earlier version to see the version conversion happens correctly or not.
Until now all my test went without any problem (last tested version was 2.2.6)

During cws development the devoloper had close contact with the hsqldb developers.
Comment 2 Caolán McNamara 2012-01-23 02:33:15 UTC
If we update to the latest hsqldb then .odb files created with that version of hsqldb won't be openable in older versions of LibreOffice/OpenOffice.org that contain the older version of hsqldb right ?
Comment 3 Lionel Elie Mamane 2012-01-23 02:49:19 UTC
(In reply to comment #2)
> If we update to the latest hsqldb then .odb files created with that version of
> hsqldb won't be openable in older versions of LibreOffice/OpenOffice.org that
> contain the older version of hsqldb right ?

Yes. I've read somewher the OO.org CWS contains UI warnings about that or handling of that.
Comment 4 Zoltán Reizinger 2012-01-23 03:26:13 UTC
Created attachment 56023 [details]
warning of newer version of hsqldb
Comment 5 Zoltán Reizinger 2012-01-23 03:32:03 UTC
You could open the file, but not working, if you click on table, run query, open form, run report, the new version warning shows.
The warning messeage was introduced into OOo 3.3 when the cws development started.
See attached screenshot taken in LibO 3.4.5. 
I opened odb file opened in cws version and transformed to new database engine, in LibO and clicked to the Tables pane.
Comment 6 Alex Thurgood 2012-01-23 03:51:37 UTC
Hi all,

I seem to recall that at the time the cws was started, it was agreed that the code would provide an automatic update/migration mechanism (transparent for the user from what I gathered) for ODB files using the 1.8 engine, and that at the same time a message would be provided to the user informing him/her that the new "format" would be incompatible with previous versions of OOo.


Alex
Comment 7 bfoman 2013-07-20 20:42:36 UTC
As Firebird commits start to appear in master this is potential WONTFIX. Please see bug 51780 for details.
Comment 8 Lionel Elie Mamane 2013-10-02 04:42:15 UTC
We can ship Firebird embedded *and* HSQLDB 2.x, so IMHO I wouldn't call this WONTFIX... if some volunteer wants to do it, most welcome.
Comment 9 Julien Nabet 2013-12-28 22:52:52 UTC
I gave a try to HSQLDB 2.3.1, here what I did on master sources updated yesterday:
- retrieved the zip file, rebundle it to remove the hsqldb-2.3.1 directory, and so get directly hsqldb directory (as the 1.8.0)
- md5sumed it
- updated download.lst (HSQLDB_MD5SUM, HSQLDB_TARBALL)
- added it on Makefile.fetch (I used a localhost to simulate http://dev-www.libreoffice.org)
- updated external/hsqldb/ExternalProject_hsqldb.mk to replace "jar" by "hsqldb" (I took a look to the targets, it indicated it was the same)
- in external/hsqldb/UnpackedTarball :
   - removed "src/org/hsqldb/Library.java" line since this file doesn't exist in 2.3.1 version
   - removed all the references to patches (because seemed obsolete and already taken into account) except i96823.patch
- updated i96823 patch to remove last block (I was just lazy to dig about this one)
- updated connectivity/source/drivers/hsqldb/HDriver.cxx to deal with new values of nMajor, nMinor, nMicro

With this, I could create a brand new DB/open a former (created with 1.8.0) DB (simple DB in both cases : just 1 table with 2 attributes)
After having done this, I noticed that saving with 2.3.0 upgraded the embedded DB of the file (since I couldn't open the table anymore with 4.2 version). 

Only then I read all related bugtrackers...
Anyway, thought these described steps above could give some code pointers.
Comment 10 Joel Madero 2014-02-27 22:55:29 UTC
In order to limit the confusion between ProposedEasyHack and EasyHack and to make queries much easier we are changing ProposedEasyHack to NeedsDevEval.

Thank you and apologies for the noise
Comment 11 Joel Madero 2014-11-06 22:37:17 UTC
With Lionel's confirmation - moving to NEW.
Comment 12 Alex Thurgood 2015-01-03 17:41:08 UTC
Adding self to CC if not already on


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.