roryqi opened a new pull request, #12579:
URL: https://github.com/apache/gravitino/pull/12579
### What changes were proposed in this pull request?
Extract the policy-to-tag storage layer from #12536:
1. Add `policy_tag_relation_meta` schemas and upgrade scripts for H2, MySQL,
and PostgreSQL.
2. Add relational mapper, persistent object, SQL providers, and storage
service support.
3. Store optional selector JSON on relation edges.
4. Support bidirectional relation lookup and idempotent create, replace, and
delete operations.
5. Cascade relation cleanup for policy, tag, metalake, and legacy-record
deletion.
6. Add storage tests covering the JDBC relation APIs and lifecycle behavior.
### Why are the changes needed?
Policy-on-tag requires persistent `Policy -> Tag` relations before the
runtime API, resolver, and REST layers can be implemented and reviewed
independently.
Fix: #12578
Part of #12179 and #12176.
### Does this PR introduce _any_ user-facing change?
No. This PR adds internal relational storage and database schema support
only.
### How was this patch tested?
- `./gradlew spotlessApply`
- `./gradlew :core:test --tests
org.apache.gravitino.storage.relational.service.TestPolicyTagRelService
-PskipDockerTests=false`
- H2, MySQL, and PostgreSQL: 9 tests passed
- Related metalake, policy, tag, and relational entity store tests
- `git diff --check`
--
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]