c-thiel commented on code in PR #12584: URL: https://github.com/apache/iceberg/pull/12584#discussion_r2206655801
########## open-api/rest-catalog-open-api.yaml: ########## @@ -3405,6 +3490,101 @@ components: allOf: - $ref: '#/components/schemas/ScanTasks' + GetEventsRequest: + type: object + properties: + page-token: + $ref: "#/components/schemas/PageToken" + page-size: + type: integer + format: int32 + description: > + The maximum number of events to return in a single response. + If not provided, the server may choose a default page size. + Servers may return less results than requested for various reasons, such as + server side limits, payload size or processing time. + after-timestamp-ms: + type: integer + format: int64 + description: > + The (server) timestamp in milliseconds to start consuming events from (inclusive). + If not provided, the first available timestamp is used. + operation-types: + type: array + items: + $ref: "#/components/schemas/OperationType" + description: > + Filter events by the type of operation. + If not provided, all types are returned. + catalog-objects: + type: array + discriminator: + propertyName: reference-type + mapping: + namespace: "#/components/schemas/NamespaceReference" + table: "#/components/schemas/TableReference" + view: "#/components/schemas/ViewReference" + items: + oneOf: + - $ref: "#/components/schemas/NamespaceReference" + - $ref: "#/components/schemas/TableReference" + - $ref: "#/components/schemas/ViewReference" + description: > + List of catalog objects (namespaces, tables, views) to get events for. + If not provided, events for all objects will be returned subject to other filters. + For specified namespaces, events for the namespaces and all containing objects + (namespaces, tables, views) will be returned. + custom-filters: + type: object + additionalProperties: true + description: > + Implementation-specific filter extensions. Implementations may define custom filter + properties beyond the standard ones defined in this specification. + + NamespaceReference: Review Comment: I thought about this too, but couldn't find another good way that: * Differentiates between Views, Tables and Namespaces, so that individual objects can be targeted. `TableIdentifier` requires `name`, so we can't use it to express "Give me everything in Namespace X" * Keeps uuids. I prefer to work with UUIDs instead of names. Keeping UUIDs here was also a wish from the community. If you have another idea how we can make this more compact, I am happy to change! Using inline schemas led to almost the same amount of code, but was much less readable. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org