OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-449) Clarify restrictions for action/function overloads, rename IsBindable to IsBound


     [ http://tools.oasis-open.org/issues/browse/ODATA-449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Pizzo updated ODATA-449:
--------------------------------

    Proposal: 
Actions/functions are bound or not bound. --> IsBindable attribute is renamed to IsBound

Actions:

Bound actions can only be called via a path prefix.
Unbound actions can only be called via an ActionImport.
Only bound actions whose first parameter is (a collection of) an entity type can have an EntitySetPath.

Functions:

For unbound functions the combination of the function name and unordered set of parameter names MUST identify a particular function overload. 
Only unbound functions can be used in function imports.

All unbound overloads MUST have the same return type.

For bound functions the combination of the function name, the binding parameter type, and the unordered set of parameter names for non-binding parameters MUST identify a particular function overload. 

All bound overloads with a given binding parameter type MUST have the same return type.

Remove default values for parameters. client passes values for each parameter.


  was:
Actions/functions are bound or not bound. --> IsBindable attribute is renamed to IsBound

Actions:

Bound actions can only be called via a path prefix.
Unbound actions can only be called via an ActionImport.
Only bound actions whose first parameter is (a collection of) an entity type can have an EntitySetPath.

Functions:

For unbound functions the combination of the function name and unordered set of parameter names MUST identify a particular function overload. 
Only unbound functions can be used in function imports.

All unbound overloads MUST have the same return type.

For bound functions the combination of the function name, the binding parameter type, and the unordered set of parameter names for non-binding parameters MUST identify a particular function overload. 

All bound overloads with a given binding parameter type MUST have the same return type.

Remove default values for parameters. client passes values for each parameter.

and, rename "KEY" to "urlref" and constrain this to only take the canonical url of an entity for 4.0 (we can relax this in the future). url may be relative to the current resource.


> Clarify restrictions for action/function overloads, rename IsBindable to IsBound
> --------------------------------------------------------------------------------
>
>                 Key: ODATA-449
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-449
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData ABNF Construction Rules, OData ATOM Format , OData CSDL, OData JSON Format, OData Protocol , OData URL Conventions 
>    Affects Versions: V4.0_CSD01
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>             Fix For: V4.0_CSD02
>
>
> The goal for action and function overload resolution is that the overload can be identified by inspecting the URL only.
> This goal leads to restrictions on which overloads can be defined.
> Actions
> - non-bindable actions cannot have overloads because the URL just contains the action name, all parameters are in the POST body
> - bindable actions can have overloads based on the binding parameter type because the binding parameter is specified in the URL
> This is captured in the current spec text.
> Functions
> - the first parameter for bindable functions can be specified as a path prefix, not specifying the parameter name
> - other parameters are specified with name and value in the URL
> - numeric literal values don't differ within the type families "Integer" and "Float"
> So for bindable functions the following information is available for overload selection:
> - names of non-binding parameters
> - type of binding parameter
> - type family of non-binding parameters
> For non-bindable functions the following information is available for overload selection:
> - names of  all parameters
> - type family of all parameters
> Type families are
> - Integer: Edm.SByte, Edm.Byte, Edm.Int16, Edm.Int32, Edm.Int64, Edm.Decimal with Scale equal to zero
> - Float: Edm.Single, Edm.Double, Edm.Decimal with Scale not equal to zero.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]