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

   ### What changes were proposed in this pull request?
   
   Implement the `alterFunction` method in `ManagedFunctionOperations` to 
support modifying registered UDFs. This includes:
   
   - **UpdateComment**: Update the function's comment/description
   - **AddDefinition**: Add a new function definition with arity overlap 
validation
   - **RemoveDefinition**: Remove an existing definition (with guard against 
removing the only definition)
   - **AddImpl**: Add a new implementation to a definition (with runtime 
uniqueness check)
   - **UpdateImpl**: Update an existing implementation for a specific runtime
   - **RemoveImpl**: Remove an implementation from a definition (with guard 
against removing the only implementation)
   
   ### Why are the changes needed?
   
   Fix: #9561
   
   This is part of the UDF management feature. After registering a function, 
users need the ability to modify it without dropping and recreating. The 
`alterFunction` API enables incremental updates to function metadata, 
definitions, and implementations.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Users can now use the `alterFunction` API to modify registered 
functions through various `FunctionChange` operations.
   
   ### How was this patch tested?
   
   Added comprehensive unit tests in `TestManagedFunctionOperations`:
   - Test updating comment
   - Test adding/removing definitions with arity validation
   - Test adding/updating/removing implementations
   - Test error cases (non-existing function, non-existing runtime, removing 
only definition/impl)
   - Test parameter order validation during alter operations


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