danielcweeks commented on code in PR #15830:
URL: https://github.com/apache/iceberg/pull/15830#discussion_r3119654782
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -1931,6 +1903,143 @@ paths:
5XX:
$ref: '#/components/responses/ServerErrorResponse'
+ /v1/{prefix}/relations/batch-load:
+ parameters:
+ - $ref: '#/components/parameters/prefix'
+
+ post:
+ tags:
+ - Catalog API
+ summary: Batch load relations (tables and views) from the catalog
+ operationId: batchLoadRelations
+ description:
+ "
+ Load metadata for multiple relations in one request. Identifiers may
span different namespaces.
+ Each item includes a `TableIdentifier` and optional per-item
parameters (`etag` and `snapshots`).
+ The server resolves each identifier as a table or view.
+
+
+ The per-item `status` in the response indicates the outcome:
+
+ - `200` - Relation exists and metadata is returned. The `result` field
contains a
+ `LoadRelationResult` with `object-type` and the type-specific
payload.
+
+ - `304` - The relation is a table and the provided ETag matches the
current metadata version.
+ No payload is returned. The current `etag` value is included.
+
+ - `404` - No table or view exists for the identifier.
+
+
+ Servers MAY cap the amount of computation or response payload size per
request and return
+ `unprocessed-identifiers` for items they did not process. Clients
SHOULD retry unprocessed
+ identifiers in a subsequent request.
Review Comment:
Do we want to describe how to handle if too many items are requested? I
understand the server can process a subset and return the unprocessed list, but
what if someone lists an entire catalog and then asks for 100K resources? What
error code can/should the server return if they consider the request
unreasonable (400 might fit that)
--
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]