-
Proposal:
Hide
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.
Show
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.
-
Resolution:
Show
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edm.xsd?rev=369
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edm.xsd?rev=370
https://www.oasis-open.org/committees/download.php/49611/odata-atom-format-v4.0-wd02-2013-06-19.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/metadata.xsd?rev=382
https://www.oasis-open.org/committees/download.php/49613/odata-v4.0-wd02-part1-protocol-2013-06-19.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/vocabularies/Org.OData.Core.V1.xml?rev=377
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/vocabularies/Org.OData.Capabilities.V1.xml?rev=379
https://www.oasis-open.org/committees/download.php/49614/odata-v4.0-wd02-part2-url-conventions-2013-06-19.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/ABNF/odata-abnf-construction-rules.txt?rev=380
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/ABNF/odata-abnf-testcases.xml?rev=380
https://www.oasis-open.org/committees/download.php/49615/odata-v4.0-wd02-part3-csdl-2013-06-19.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edmx.xsd?rev=357
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edm.xsd?rev=377
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/MetadataService.edmx?rev=374
https://www.oasis-open.org/committees/download.php/49611/odata-atom-format-v4.0-wd02-2013-06-19.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/metadata.xsd?rev=382
https://www.oasis-open.org/committees/download.php/49612/odata-json-format-v4.0-wd02-2013-06-19.docx
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.
{"report":{"apdex":1,"isInitial":true,"journeyId":"7ace2889-5432-4ae8-afc7-f04fc9bbf439","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":643.3000001907349,"redirectCount":0,"resourceLoadedEnd":518.9000000953674,"resourceLoadedStart":135,"resourceTiming":[{"duration":148.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":135,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":135,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":283.5,"responseStart":0,"secureConnectionStart":0},{"duration":148.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":135.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":135.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":283.80000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":148.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":135.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":135.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":283.90000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":148.2999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":135.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":135.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":284.09999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":148.2000002861023,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":136,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":136,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":284.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":156.7999997138977,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":136.2000002861023,"connectEnd":136.2000002861023,"connectStart":136.2000002861023,"domainLookupEnd":136.2000002861023,"domainLookupStart":136.2000002861023,"fetchStart":136.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":136.2000002861023,"responseEnd":293,"responseStart":293,"secureConnectionStart":136.2000002861023},{"duration":169.90000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":136.80000019073486,"connectEnd":136.80000019073486,"connectStart":136.80000019073486,"domainLookupEnd":136.80000019073486,"domainLookupStart":136.80000019073486,"fetchStart":136.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":136.80000019073486,"responseEnd":306.7000002861023,"responseStart":306.7000002861023,"secureConnectionStart":136.80000019073486},{"duration":171.80000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":137,"connectEnd":137,"connectStart":137,"domainLookupEnd":137,"domainLookupStart":137,"fetchStart":137,"redirectEnd":0,"redirectStart":0,"requestStart":137,"responseEnd":308.80000019073486,"responseStart":308.80000019073486,"secureConnectionStart":137},{"duration":172,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":137.2000002861023,"connectEnd":137.2000002861023,"connectStart":137.2000002861023,"domainLookupEnd":137.2000002861023,"domainLookupStart":137.2000002861023,"fetchStart":137.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":137.2000002861023,"responseEnd":309.2000002861023,"responseStart":309.2000002861023,"secureConnectionStart":137.2000002861023},{"duration":172.19999980926514,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":137.40000009536743,"connectEnd":137.40000009536743,"connectStart":137.40000009536743,"domainLookupEnd":137.40000009536743,"domainLookupStart":137.40000009536743,"fetchStart":137.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":137.40000009536743,"responseEnd":309.59999990463257,"responseStart":309.59999990463257,"secureConnectionStart":137.40000009536743},{"duration":172.40000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":137.59999990463257,"connectEnd":137.59999990463257,"connectStart":137.59999990463257,"domainLookupEnd":137.59999990463257,"domainLookupStart":137.59999990463257,"fetchStart":137.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":137.59999990463257,"responseEnd":310,"responseStart":310,"secureConnectionStart":137.59999990463257},{"duration":172.7999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":137.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":137.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":310.5,"responseStart":0,"secureConnectionStart":0},{"duration":172.59999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":137.90000009536743,"connectEnd":137.90000009536743,"connectStart":137.90000009536743,"domainLookupEnd":137.90000009536743,"domainLookupStart":137.90000009536743,"fetchStart":137.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":137.90000009536743,"responseEnd":310.5,"responseStart":310.5,"secureConnectionStart":137.90000009536743},{"duration":107.69999980926514,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":205.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":205.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":313.40000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":107.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":206,"connectEnd":206,"connectStart":206,"domainLookupEnd":206,"domainLookupStart":206,"fetchStart":206,"redirectEnd":0,"redirectStart":0,"requestStart":206,"responseEnd":313.5,"responseStart":313.40000009536743,"secureConnectionStart":206},{"duration":127.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":218.09999990463257,"connectEnd":218.09999990463257,"connectStart":218.09999990463257,"domainLookupEnd":218.09999990463257,"domainLookupStart":218.09999990463257,"fetchStart":218.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":218.09999990463257,"responseEnd":345.59999990463257,"responseStart":345.59999990463257,"secureConnectionStart":218.09999990463257},{"duration":282,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":236.90000009536743,"connectEnd":236.90000009536743,"connectStart":236.90000009536743,"domainLookupEnd":236.90000009536743,"domainLookupStart":236.90000009536743,"fetchStart":236.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":236.90000009536743,"responseEnd":518.9000000953674,"responseStart":518.9000000953674,"secureConnectionStart":236.90000009536743}],"threshold":1000,"fetchStart":0,"domainLookupStart":26,"domainLookupEnd":26,"connectStart":26,"connectEnd":74,"secureConnectionStart":50,"requestStart":74,"responseStart":127,"responseEnd":236,"domLoading":130,"domInteractive":691,"domContentLoadedEventStart":691,"domContentLoadedEventEnd":732,"domComplete":873,"loadEventStart":873,"loadEventEnd":875,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"333f2b556a67a7","effectiveType":"4g","downlink":9.6,"rtt":0,"serverDuration":131,"dbReadsTimeInMs":35,"dbConnsTimeInMs":42,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Accepted in F2F 2013-06-14