huaxingao commented on code in PR #18057: URL: https://github.com/apache/iceberg/pull/18057#discussion_r3998741878
########## format/udf-spec.md: ########## @@ -107,7 +107,11 @@ Notes: Types are based on the [Iceberg Type](https://iceberg.apache.org/spec/#schemas-and-data-types). Primitive and semi-structured type strings are encoded based on [Iceberg Type JSON Representation][iceberg-type-json] -(e.g., `int`, `string`, `timestamp`, `decimal(9,2)`, `variant`). Type strings must contain no spaces or quote characters. +(e.g., `int`, `string`, `timestamp`, `decimal(9, 2)`, `variant`). Type strings must contain no quote characters. + +Type strings are used exactly as Iceberg serializes them. Parameterized types may contain spaces, either separating +parameters (`decimal(9, 2)`, `geography(OGC:CRS84, spherical)`) or within a parameter value (`geometry(srid: 3857)`). +Readers must not add or remove spaces in a type string. Review Comment: Adopted, thanks. One small change: I wrote "compare parsed types" instead of "parsed or canonicalized types." Canonical form keeps the CRS casing, so `geometry(EPSG:4326)` and `geometry(epsg:4326)` serialize to different strings even though they're the same type. Comparing canonical strings would call them different; comparing parsed types gets it right. -- 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]
