lasdf1234 opened a new pull request, #11127:
URL: https://github.com/apache/gravitino/pull/11127
### What changes were proposed in this pull request?
This PR adds the built-in IdP group metadata relational storage model under
`plugins:idp-basic` on top of the user metadata model already merged in
apache/gravitino#11066.
It introduces:
- the `IdpGroupPO` persistent object for built-in IdP groups
- the `IdpGroupMetaMapper` MyBatis mapper for querying, inserting, soft
deleting, and cleaning legacy group metadata
- the `IdpGroupMetaSQLProviderFactory` with base, H2, and PostgreSQL SQL
providers
- mapper package registration updates for the built-in IdP group mapper in
the `idp-basic` plugin
- unit tests covering the group PO, mapper package provider, SQL providers,
SQL provider factory, and mapper behavior
This PR also follows the existing project patterns used in the relational
storage layer:
- the `IdpGroupPO` builder follows the same Lombok builder style already
used by `IdpUserPO`
- the SQL provider factory keeps MySQL as the default base dialect, while H2
and PostgreSQL stay in dedicated providers
- multi-database mapper execution is covered by the storage test base shared
with the built-in IdP user metadata tests
### Why are the changes needed?
The built-in IdP needs a relational group metadata model so group records
can be persisted and queried consistently across the supported JDBC backends.
Part of apache/gravitino#11068
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
```bash
./gradlew --no-daemon :plugins:idp-basic:test -PskipITs
-PskipDockerTests=false \
--tests org.apache.gravitino.idp.storage.po.TestIdpGroupPO \
--tests
org.apache.gravitino.idp.storage.mapper.TestIdpBasicMapperPackageProvider \
--tests
org.apache.gravitino.idp.storage.mapper.TestIdpGroupMetaSQLProviderFactory \
--tests
org.apache.gravitino.idp.storage.mapper.provider.base.TestIdpGroupMetaBaseSQLProvider
\
--tests
org.apache.gravitino.idp.storage.mapper.provider.h2.TestIdpGroupMetaH2Provider \
--tests
org.apache.gravitino.idp.storage.mapper.provider.postgresql.TestIdpGroupMetaPostgreSQLProvider
\
--tests org.apache.gravitino.idp.storage.mapper.TestIdpGroupMetaStorage
```
`TestIdpGroupMetaStorage` covers H2, MySQL, and PostgreSQL when
`-PskipDockerTests=false` is set.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]