Hi,

See my reply inline:

Regards,
Eugen

On 14.01.2021 18:02, Daniel Watford wrote:
Hi Eugen,

I think your point...

 > It's important to match the driver version with database version

... is a good reason for the ofbiz project to NOT be opinionated about database libraries and versions

Originally I had only thought we would need to specify one driver for one DBMS type. I had failed to realise there would be lots of different versions of any one DBMS in use, each potentially requiring a different driver version.

Figuring out the 'good' driver version for each DBMS version potentially used with ofbiz probably wouldn't be workable. I imagine at best we might have a web page where ofbiz administrators can report on the combination of DBMS version, driver and JVM they are successfully using.

You've changed my mind! :)   I'll drop the use of build-time properties to resolve database driver libraries.


If that is the case then the solution might be simpler:
We can set our own constraints.

For a lot of web applications the norm is: We support only the latest 2-4 versions of Browser X, Y and Z.

In Debian, the policy is to keep the major version of an app during the full lifetime of the release. If Debian 10 comes with Gnome 3.34 - That is the version people are going to use until Debian 11 comes ~ 2 years later. Only minor upgrades / patches are updated. This makes sense considering Debian packages ~ 65.000+ packages (?!).

OFBiz could deliver only the latest versions at the time of release and upgrade only patch versions (?!) or during point releases.

It's best if this policy is made explicit in the documentation.

Let's say that OFBiz 18.x comes with
- postgresql-jdbc 42.x which supports PostgreSQL 9.x -> 13.x
- mysql connector 8.x - which supports MySQL and MariaDB 10.x +

OFBiz 21.x will come with the latest drivers at it's release time, and so on.

Also since OFBiz has a base JVM version used for building, we could use that version to match the drivers as well.

This database version compatibility and information about jvm version is available on the provider website.

If people use something else - it's on them to make the changes - this phrase should also be explicit. IMO It's not the community's obligation to support every permutation out there.

Because I build Docker images and I can add libraries to classpath - I'm good either way.

Once https://issues.apache.org/jira/browse/OFBIZ-12136 is merged (will submit a PR) - I'm all set for database drivers.

IMO one reason to add drivers to the projects is to make make it easier to run integration tests for those databases OOTB. I'm still not familiar with the project structure to figure out how to run those tests.


--
Eugen Stan
+40720 898 747 / netdava.com

Reply via email to