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

   ### What changes were proposed in this pull request?
   
   - Validate parameter, scalar return, and table return-column types when 
registering or adding a function definition.
   - Accept native Gravitino types and explicit, non-blank `ExternalType` 
values.
   - Reject `UnparsedType` recursively with indexed field paths and HTTP 400 
responses.
   - Add a `WritableDataType` OpenAPI schema for function write requests.
   - Preserve the shared read deserializer and legacy selector behavior.
   
   ### Why are the changes needed?
   
   Unknown strings and malformed type objects currently deserialize as 
`UnparsedType` and can be persisted as new function metadata because request 
validation only checks for null.
   
   Part of #12927.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Function register and `AddDefinition` now reject unknown, malformed, or 
explicit `UnparsedType` inputs with HTTP 400. Existing function responses and 
selector-based management operations remain backward compatible. Table APIs are 
unchanged.
   
   ### How was this patch tested?
   
   - Focused common request and DTO tests
   - `TestFunctionPO`
   - `TestManagedFunctionOperations`
   - Focused `TestFunctionOperations` REST tests
   - `./gradlew spotlessApply`
   - `./gradlew :docs:build`
   - `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]

Reply via email to