jerryshao opened a new pull request, #12714:
URL: https://github.com/apache/gravitino/pull/12714
### What changes were proposed in this pull request?
This PR backports view/function tag support from `main` to `branch-1.3`:
- #11897 [#11844] feat(tag): Support tags for views and functions —
server/core: allow VIEW
and FUNCTION as taggable metadata object types, OpenAPI updates, cascade
cleanup on drop.
- #11903 [#11902] feat(client-java): Support tags for views and functions —
adds
`supportsTags()` to `View`/`Function`, `GenericView`/`GenericFunction`
client wrappers.
- #12182 [#12181] feat(client-python): Support tags for views and functions
— adds
`supports_tags()` to the Python client's `View`/`Function`.
The Python client had no View API at all on `branch-1.3` (it was added on
`main` after the
branch was cut), so 4 prerequisite commits are included to bring it to
parity before applying
the tag-support patch:
- #12040 [#12039] feat(client-python): Add view API definitions
- #12090 [#12089] improvement(client-python): Implement client-side view
models
- #12117 [#12116] improvement(client-python): Add view create/drop operations
- #12159 [#12158] improvement(client-python): Add view query/alter operations
One trivial doc conflict in `docs/manage-tags-in-gravitino.md` was resolved
manually: the intro
text that #11903 added (listing taggable object types) is redundant with
`branch-1.3`'s existing,
already-restructured `docs/tags.md`, which already lists `VIEW`/`FUNCTION`
as taggable.
### Why are the changes needed?
Feature parity: `branch-1.3` should support tagging views and functions
consistently across
server, Java client, and Python client, matching `main`.
Fix: #11844
Related: #11902, #12181
### Does this PR introduce _any_ user-facing change?
Yes, same as the source PRs:
- REST/OpenAPI: `VIEW` and `FUNCTION` are now valid metadata object types
for tag association.
- Java client: `view.supportsTags()` / `function.supportsTags()` are
available.
- Python client: `view.supports_tags()` / `function.supports_tags()`; the
Python client also
gains full View CRUD (list/load/create/alter/drop) it previously lacked on
`branch-1.3`.
### How was this patch tested?
- `./gradlew :api:compileJava :core:compileJava
:clients:client-java:compileJava :clients:client-java:compileTestJava -q` —
passed.
- `./gradlew :clients:client-java:test --tests "*TestSupportTags*" --tests
"*TestFunctionCatalog*" --tests "*TagIT*" -PskipITs -q` — passed.
- `./gradlew :core:test --tests "org.apache.gravitino.tag.TestTagManager"
-PskipITs -q` — passed in isolation.
- Python client: `python -m pytest tests/unittests -k "view or function or
tag" -q` — 190 passed.
--
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]