Skip to content

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

@ralfhandl

Description

@ralfhandl

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

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Open

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions