I went ahead and created

https://issues.apache.org/jira/browse/SYNCOPE-1827

Regards.

On 02/08/24 14:47, Francesco Chicchiriccò wrote:
Hi all,
now that MariaDB has received its JSON flavor [1], I would like to discuss the 
possibility to simplify the 4.0 codebase by removing support for non-JSON JPA 
flavors.

Historically, JPA support was provided since the beginning under 
core/persistence-jpa.
At a certain point, some way to leverage the possibility to manipulate JSON 
strings for user, group and any object attributes was introduced for PostgreSQL 
first, then MySQL, Oracle and finally MariaDB. The purpose: higher throughput 
and lower search operation roundtrips.
Such "flavors" were implemented under core/persistence-jpa-json.

It's been quite some time, however, that all new deployments have been starting 
directly with one of JSON flavors rather than with their non-JSON, original, 
counterparts.

Hence, I am proposing to keep, for 4.0, only such JSON flavors.
Removing the non-JSON flavors will result in simplified code, easier to 
maintain.

One side issue of such a proposal is that Syncope 4.0 will not be able to run 
on H2 any more. H2 is currently used for several unit tests, integration test 
profiles, standalone and even in the embedded profile for archetype.

To solve this, I've been experimenting with embedded PostgreSQL [2], a nice 
AL-2.0 project which provides support to run a PostgreSQL instance, without 
Docker, on all major platforms including GNU / Linux, Mac OS and Windows.
I must say it works quite well: I was able to remove H2 from everywhere 
relevant (hence, I've left it there for fir/build-tools): I think I should be 
ready to open a PR against master shortly.
Incidentally, such work allowed me to discover an issue [3] that I've already 
fixed for Syncope 3.0.

Do you see any relevant reason to keep non-JSON JPA flavors in Syncope 4.0, or 
any relevant issue in removing H2?

Regards.

[1] https://issues.apache.org/jira/browse/SYNCOPE-1662
[2] https://github.com/zonkyio/embedded-postgres
[3] https://issues.apache.org/jira/browse/SYNCOPE-1825


--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/

Reply via email to