laskoviymishka commented on code in PR #15750:
URL: https://github.com/apache/iceberg/pull/15750#discussion_r3962176668


##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -3849,6 +3849,51 @@ components:
           items:
             $ref: '#/components/schemas/StorageCredential'
 
+    CatalogObjectLabels:
+      type: object
+      description: >-
+        Catalog-object-level labels, attached to the object (table, view, ...)
+        as a whole.
+      additionalProperties:
+        type: string
+
+    FieldLabels:
+      type: object
+      description: Labels attached to a single field, identified by field-id.
+      required:
+        - field-id
+        - labels
+      properties:
+        field-id:
+          type: integer
+          description: Field ID from the schema of the table or view
+        labels:
+          type: object
+          description: Flat key-value labels for this field
+          additionalProperties:
+            type: string
+
+    Labels:
+      type: object
+      description: |
+        Catalog-provided metadata enrichment (for example ownership,
+        classification, or cost attribution) returned with a table or view.
+        Labels are catalog-provided and optional; clients may ignore them, and
+        may cache them following the response ETag.
+        The spec does not require how a catalog produces or stores labels, nor
+        whether they are persisted or versioned. `object-labels` carries
+        catalog-object-level labels; `fields` carries per-field labels, each

Review Comment:
   Clarified this one, dropped "catalog-object-level" in favor of "labels for 
the object as a whole", both on the schema and in the Labels description, which 
should read cleaner.
   
   On aligning the two names (object-labels vs CatalogObjectLabels): I'd lean 
toward keeping the component name. The Catalog prefix was a deliberate choice 
from @danielcweeks (r3626058904), the intent was to keep the component explicit 
and reusable so we don't accidentally reuse a generically-named one for other 
catalog objects (views, functions, namespaces) later. 
   
   The wire property is object-labels (per @nastra's earlier ask to spell it 
out rather than just object), since property/component names differing is 
normal in the spec anyway (e.g. metadata → TableMetadata).



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