tada / pljava

PL/Java is a free add-on module that brings Java™ Stored Procedures, Triggers, Functions, Aggregates, Operators, Types, etc., to the PostgreSQL™ backend.
http://tada.github.io/pljava/
Other
242 stars 77 forks source link

Compatibility Table #429

Closed aadrian closed 1 year ago

aadrian commented 1 year ago

Please add a compatibility table to the main page.

For now is very cumbersome to figure it out if PLJava is even supposed to work with a certain combination/version of JDK and PostgreSQL DB.

Thank you.

jcflack commented 1 year ago

Is the table here somethlng close to what you are looking for?

https://github.com/tada/pljava/wiki/

Broadly speaking, the JDK versions and PostgreSQL versions supported are independent; that is, "is PostgreSQL x supported?" and "is Java y supported?" are questions, but "is PostgreSQL x supported with Java y?" is not a necessary question.

aadrian commented 1 year ago

@jcflack Thank you for your reply.

According to that "table", PostgreSQL 15 should have no issues, but https://github.com/tada/pljava/pull/413 is still un-merged.

Is the table here somethlng close to what you are looking for?

Almost. I was hoping for more detailed one, e.g. for the versions of Java, and the ones of PG that tests were e.g. running without issues in the CI/CD.

Also what "flavor" of JDK was used would be helpful, since there still seem to be some differences between the Oracle release and Zulu/Temurin https://www.azul.com/products/core/jdk-comparison-matrix/

jcflack commented 1 year ago

A tabular form doesn't seem ideal, because PL/Java's support of Java versions and of PostgreSQL versions should be orthogonal. If PL/Java works with Java x, and works with PostgreSQL y, then it works with (Java x ✕ PostgreSQL y). Any exception would have to rely on some extremely weird interaction, and I don't think I've ever known of one in the project's history.

So it seems the compatibility sections in the release notes and in the docs cover the ground less redundantly than a tabular format would.

The versioned (non-wiki) docs are released simultaneously with the software. Regrettably, that gets in the way of updating a doc for PL/Java release x, for example, to add that it doesn't support PostgreSQL version y that came along after PL/Java release x. That will usually show up in some opened issue that says "hey, PG y doesn't work with PL/Java x" and gets closed when PL/Java x+1 comes out and supports PG y.

The point about various flavors of JDK is well taken. It is non-trivial effort to set up the CI for PL/Java, and to reason out how to get good information without putting excessive demand on the CI provider(s), which could easily happen if testing several PG versions, several Java versions, and several flavors of those Java versions.

The current CI arrangements could certainly stand improvement, and ideas or pull requests for that can be welcomed as new issues or PRs.

As PL/Java 1.6.5 is out now and supports PostgreSQL 15, I'll close this one.