Francesco Chicchiriccò created SYNCOPE-1827:
-----------------------------------------------
Summary: Remove non-JSON JPA support
Key: SYNCOPE-1827
URL: https://issues.apache.org/jira/browse/SYNCOPE-1827
Project: Syncope
Issue Type: Task
Reporter: Francesco Chicchiriccò
Assignee: Francesco Chicchiriccò
Fix For: 4.0.0
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 roundups.
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.
The [proposal|https://lists.apache.org/thread/xkh85f8hv83lz3cmlfxkhj45bmt9hz6c]
to keep, for 4.0 onwards, only such JSON flavors was discussed and found no
arguments against.
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, we will be leveraging [embedded
PostgreSQL|https://github.com/zonkyio/embedded-postgres], 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)