Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSDL Section 12.9 "Parameter" mixing with "overload" causes ambiguity, particularly with regard to parameter ordering #314

Open
ralfhandl opened this issue Mar 20, 2024 · 0 comments · May be fixed by #242 or #244

Comments

@ralfhandl
Copy link
Contributor

CSDL XML Section 12.9 Paramerter

First paragraph:

An action or function overload MAY specify parameters.

Problem: Even an action or function that isn't an overload may specify parameters.

Second paragraph:

A bound action or function overload MUST specify at least one parameter; the first parameter is the binding parameter. The order of parameters MUST NOT change unless the schema version changes.

Problem: Ambiguous as to whether parameter ordering may (or may not) change seems linked to whether we are referring to an overloaded, or non-overloaded, action or function.

Since I originally identified the issue about parameter ordering, I can assert that I wasn't concerned about ordering only for overloaded actions/functions. It is important for parameter ordering to remain stable for non-overloaded actions/functions. (Otherwise client applications using code generated from model elements will experience backwards-incompatible changes in method/function signatures).

Furthermore, the "Element edm:Action" and "Attribute Name" parts belong in section 12.1 "Action", not in 12.2 "Action Overloads".

Similarly, the "Element edm:Function" and "Attribute Name" parts belong in section 12.3 "Function", not in 12.4 "Function Overloads".

Proposal

Distinguish between

  • an action/function as the named set of all its signature definitions aka overloads
  • a single signature definition aka overload

Imported from ODATA-1370

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Open
2 participants