stevenzwu opened a new pull request, #16144:
URL: https://github.com/apache/iceberg/pull/16144

   ## Summary
   
   Adds a generic `CatalogObjectIdentifier` schema to the REST catalog spec, 
represented as an ordered list of hierarchical levels (`{ "levels": 
["accounting", "tax", "paid"] }`). This identifier works uniformly for tables, 
views, functions, materialized views, and namespaces — removing the need for a 
type-specific identifier per object kind.
   
   - For named objects (tables, views, functions, materialized views), the last 
element is the object name; preceding elements form the namespace path.
   - For namespace objects, the list contains all levels of the namespace 
itself.
   - The object kind is determined by context (e.g. the endpoint or a companion 
`CatalogObjectType` discriminator), not by the identifier structure alone.
   
   Motivation: multiple concurrent efforts need a generic catalog identifier — 
events (#12584), function endpoints (#15180), universal relation load (#15830). 
Introducing one shared schema avoids identifier proliferation.
   
   ## Scope
   
   Intentionally minimal, per the design doc's migration plan:
   
   - Add `CatalogObjectIdentifier` alongside the existing `TableIdentifier`.
   - **No changes to existing endpoints.** All current references to 
`TableIdentifier` are preserved — no breaking changes.
   - `CatalogObjectType` (the companion discriminator proposed in #15830) is 
**not** part of this PR.
   
   ## Design note
   
   This PR uses the flat-list-of-levels representation, matching the approach 
already introduced in PR #12584 for the events endpoint. The design doc also 
describes an alternative `(namespace, name)` tuple representation; this PR 
adopts the flat-list variant for consistency with existing precedent in the 
events spec.
   
   ## Test plan
   
   - [x] `make -C open-api lint` passes (openapi-spec-validator + yamllint 
--strict)
   - [x] `make -C open-api generate` regenerates `rest-catalog-open-api.py` 
cleanly (only the new class added)
   - [x] `python3 -m py_compile open-api/rest-catalog-open-api.py` succeeds
   - [ ] Reviewer confirms schema shape and description wording
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to