wombatu-kun commented on code in PR #16727: URL: https://github.com/apache/iceberg/pull/16727#discussion_r3385136984
########## format/udf-spec.md: ########## @@ -131,6 +132,18 @@ Examples of complete definition-id signatures: * `int,string` – two parameters: int and string * `int,list<int>,struct<id:int,name:string>` – three parameters: an int, a list and a struct +#### Specific Name +The `specific-name` is an optional, user-assignable identifier for a single definition, analogous to the SQL standard's +routine *specific name*. It provides a stable handle for a definition that is independent of its signature, which engines +may use to reference a specific overload unambiguously (e.g., for SQL statements such as `DROP SPECIFIC FUNCTION`). + +* `specific-name` is for identification only. It **must not** be used for overload resolution; resolution is based on the + definition's `parameters` (see [Function Call Convention and Resolution in Engines](#function-call-convention-and-resolution-in-engines)). +* When present, `specific-name` **must** be unique among all definitions within the UDF metadata. Review Comment: These uniqueness and collision MUST rules depend on a comparison basis the spec leaves unstated. Unlike `definition-id`, which is a canonical lowercase string, `specific-name` is user-assignable free text, so two engines could disagree on whether `Add_One` collides with `add_one`. Consider stating the comparison semantics (e.g. exact, case-sensitive string equality) so the rule is interoperable. -- 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]
