zeroshade commented on code in PR #2101:
URL: https://github.com/apache/iceberg-go/pull/2101#discussion_r4169696257
##########
table/inspect.go:
##########
@@ -738,6 +808,19 @@ func RefsSchema() *iceberg.Schema {
)
}
+// LabelsSchema returns a fresh Iceberg schema for the labels metadata table.
+// The field IDs and names match Java's labels metadata table for cross-client
Review Comment:
If this is kept: please drop the Java-parity claims here and in the `Labels`
doc comment. Document the actual contract instead: the labels are
catalog-provided and captured at load, the table is empty for non-REST
catalogs, and they aren't covered by `Equals`.
##########
table/inspect.go:
##########
@@ -252,6 +253,75 @@ func (i InspectTable) Snapshots(ctx context.Context)
(array.RecordReader, error)
return rr, nil
}
+// Labels returns the catalog-provided labels for the table, one row per
Review Comment:
**Blocking.** No Iceberg client has a labels metadata table:
apache/iceberg#18048 was closed unmerged, and Java's `MetadataTableType`,
PyIceberg and iceberg-rust don't have one. It would also be the only
`InspectTable` method not derived from table metadata. `Table.labels` is
transient, isn't compared by `Equals`, and is only set by the REST catalog, so
this table is always empty for SQL, Glue, Hive and Hadoop. Removing it after
release would be a breaking change.
--
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]