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]

Reply via email to