jdbcDriverOOo logo Historical

Ce document en français.

Regarding installation, configuration and use, please consult the documentation.

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 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.0.3:

What has been done for version 1.0.4:

What has been done for version 1.0.5:

What has been done for version 1.0.6:

What has been done for version 1.0.7:

What has been done for version 1.0.8:

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 has been done for version 1.1.4:

What has been done for version 1.1.5:

What has been done for version 1.1.6:

What has been done for version 1.2.0:

What has been done for version 1.2.1:

What has been done for version 1.2.2:

What has been done for version 1.2.3:

What has been done for version 1.2.4:

What has been done for version 1.3.0:

Normally, I managed to cover the entire scope of the UNO API (com.sun.star.sdbc, sdbcx and sdb), which took quite a while, but I didn’t initially think I would get there.

What has been done for version 1.3.1:

What has been done for version 1.3.2:

The UNO SDBCX API can now be used for creating databases, as is the case for the latest versions of extensions using jdbcDriverOOo. It is possible to create tables, using the UNO API, with the following characteristics:

Using the UNO API to create databases will allow you to use code that is independent of the underlying database.

Clients using the jdbcDriverOOo driver can access features of the underlying JDBC driver through the XDriver.getPropertyInfo() method in order to access the necessary parameter when creating tables and display privileges correctly. These parameters being accessible directly by the driver can be obtained before any connection and therefore allows the creation of the database during the first connection.

What has been done for version 1.3.3:

What has been done for version 1.4.0:

What has been done for version 1.4.1:

What has been done for version 1.4.2:

What has been done for version 1.4.3:

What has been done for version 1.4.4:

What has been done for version 1.4.5:

What has been done for version 1.4.6:

What has been done for version 1.5.0:

What has been done for version 1.5.1:

What has been done for version 1.5.2:

A regression in container management (tables, views, and columns) has been present since the last update. It comes from the new integration of the ResultColumn service, which requires containers capable of handling name duplication, as is sometimes the case for columns in a ResultSet. This addition caused an error in index management after deleting an item. This issue has just been fixed and implemented in both ContainerBase.java and ContainerSuper.java files.

What has been done for version 1.5.3:

JaybirdEmbedded archive integration allows for true embedded mode for Jaybird. It is no longer necessary to install the Firebird Server to use Firebird in embedded mode (ie: embedded:*).

What has been done for version 1.5.4:

In order to avoid any regressions on extensions using jdbcDriverOOo:

What has been done for version 1.5.5:

What has been done for version 1.5.6:

Integration of the Oracle JDBC driver ojdbc17.jar. This integration required the following modifications to the underlying code:

Due to these limitations of the Oracle driver, only ResultSets from SQL SELECT queries that apply to a single table will be editable in LibreOffice Base.

The implementation of containers for tables, views, columns, indexes, keys, users, groups and descriptors has been completely redesigned. Now containers delegate the management of their elements to three classes implementing the BiMap interface:

As for the containers themselves, they now use one of the previous classes implementing BiMap depending on their needs. This choice is made in one of the following four containers and according to their class inheritance level:

The creation of the three classes implementing the BiMap interface now allows all containers to inherit from the parent ContainerMain class, which was not possible until now. This greatly simplifies the implementation of containers, which have been able to get rid of all this machinery. Everything has become so much simpler that I don’t understand why I didn’t think of it sooner?
Furthermore, regarding users and roles, this new implementation will guarantee:

On this same principle, it would be possible to have only one instance of a loaded column, whether it is accessed through a Table or a ResultSet. Something to think about…

The refresh management following the creation or deletion of an element has problems in LibreOffice Base, see issue tdf#167920. I don’t know yet how to proceed to get rid of this. Use of listener or that Base uses the XRefresable interface supported by the containers after any modification requiring it. In the second case it is the code of LibreOffice Base which remains to be improved. In the meantime, to work around this problem I advise you to manually refresh LibreOffice Base via the menu View -> Refresh tables after any insertion or deletion.

Many small fixes:

Supporting an additional driver like Oracle’s requires a lot of work for functionality testing. I’m counting on you to report any issues, as tracking down these issues is the most time-consuming task. Thanks in advance.

If you use multiple accounts to connect to a database, you will not be able to reconnect to that database again if you opened it with an account other than the one offered and then closed it without saving the file. You must restart LibreOffice. See tdf#167960.

What remains to be done for version 1.5.6: