kevinw66 opened a new pull request, #11948:
URL: https://github.com/apache/gravitino/pull/11948

   ### What changes were proposed in this pull request?
   
   This PR adds view operation support to the Python client.
   
   The main changes include:
   
   - Add Python client view API abstractions, including `View`, `ViewCatalog`, 
`ViewChange`, `Representation`, and `SQLRepresentation`.
   - Add view DTOs, requests, responses, and representation 
serialization/deserialization.
   - Add relational catalog support for view operations:
     - `list_views`
     - `load_view`
     - `create_view`
     - `alter_view`
     - `drop_view`
   - Add a default `view_exists` helper in `ViewCatalog`.
   - Add view-specific error handling.
   - Add unit tests and integration tests for Python client view operations.
   
   ### Why are the changes needed?
   
   The Python client did not support Gravitino view operations before this PR. 
Users could not manage views through the Python client even though views are 
first-class metadata objects in Gravitino.
   
   This also prepares the Python client for follow-up view-related 
capabilities, such as associating tags with views.
   
   Fix: #11947
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes.
   
   Python client users can now manage views through 
`RelationalCatalog.as_view_catalog()`, including listing, loading, creating, 
altering, dropping, and checking view existence through the default 
`ViewCatalog.view_exists()` helper.
   
   ### How was this patch tested?
   
   Added unit tests and integration tests for the new Python client view 
support.
   
   Ran:
   
   ```bash
   ./gradlew :clients:client-python:black :clients:client-python:unitTests 
:clients:client-python:integrationTest
   ```
   
   Results:
   
   - `black`: passed
   - `pylint`: passed, rated `10.00/10`
   - `unitTests`: passed, `Ran 843 tests ... OK`
   - `integrationTest`: passed, `Ran 471 tests ... OK (skipped=344)`
   


-- 
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]

Reply via email to