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

    • Hide

      Distinguish between

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

       

      Show
      Distinguish between an action/function as the named set of all its signature definitions aka overloads a single signature definition aka overload  
    • Show
      https://github.com/oasis-tcs/odata-specs/pull/242

      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".

            Assignee:
            Michael Pizzo (Inactive)
            Reporter:
            evan.ireland.2
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: