Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1370

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.01_OS
    • Fix Version/s: V4.01_ERRATA01
    • Component/s: CSDL JSON, CSDL XML
    • Labels:
      None
    • Proposal:
      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  
    • Resolution:
      Show
      https://github.com/oasis-tcs/odata-specs/pull/242

      Description

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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mikep Michael Pizzo
                Reporter:
                evan.ireland.2 Evan Ireland
              • Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: