You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Francesco Chicchiriccò (Jira)" <ji...@apache.org> on 2024/08/21 15:26:00 UTC

[jira] [Created] (SYNCOPE-1827) Remove non-JSON JPA support

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)