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

Reply via email to