-
Proposal:
Hide
Add OData-specific keywords "precision" and "scale" with numeric values
Show
Add OData-specific keywords "precision" and "scale" with numeric values
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/56653/odata-json-csdl-v4.0-wd01-2015-10-08.docx
https://www.oasis-open.org/committees/download.php/56709/odata-json-csdl-v4.0-wd01-2015-10-16.docx
Accepted: https://www.oasis-open.org/committees/download.php/56867/odata-meeting-112_on-20151105-minutes.html
JSON Schema offers the keywords minimum, maximum, and multipleOf for fine-tuning the value range of numeric properties.
While it is possible to translate Precision="5" and Scale="2" into
- multipleOf: 1e-2
- minimum: -999.99
- maximum: 999.99
it is rather hard for an OData client to re-engineer the precision and scale
Similar for temporal values: here Precision="7" would have to be -translated into a regular expression
- "pattern":"(^[^.]*$|[.][0-9]
{1,7}
$)"
We could add the original scale and precision as extension keywords.
And we could additonally opt to omit the rather cryptic JSON Schema representation that would only benefit JSON Schema validators.
For example a property of type Edm.TimeOfDay with precision 9 would be represented as
{
"type":"string",
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]
{1,9}
)?$",
"precision":9
}
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"ba839219-3260-4847-98ed-b415119691fb","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":2675.0999999940395,"redirectCount":0,"resourceLoadedEnd":2884.5,"resourceLoadedStart":442.5,"resourceTiming":[{"duration":165.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":442.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":442.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":608,"responseStart":0,"secureConnectionStart":0},{"duration":166.29999999701977,"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":442.79999999701977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":442.79999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":609.0999999940395,"responseStart":0,"secureConnectionStart":0},{"duration":179,"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":443.09999999403954,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":443.09999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":622.0999999940395,"responseStart":0,"secureConnectionStart":0},{"duration":180.29999999701977,"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":443.3999999985099,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":443.3999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":623.6999999955297,"responseStart":0,"secureConnectionStart":0},{"duration":181.19999999552965,"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":443.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":443.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":624.6999999955297,"responseStart":0,"secureConnectionStart":0},{"duration":448.70000000298023,"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":443.79999999701977,"connectEnd":678.2999999970198,"connectStart":628,"domainLookupEnd":628,"domainLookupStart":628,"fetchStart":443.79999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":678.5,"responseEnd":892.5,"responseStart":719.3999999985099,"secureConnectionStart":652.8999999985099},{"duration":2066.7999999970198,"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":444.3999999985099,"connectEnd":679.1999999955297,"connectStart":629.5,"domainLookupEnd":629.5,"domainLookupStart":629.5,"fetchStart":444.3999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":679.1999999955297,"responseEnd":2511.1999999955297,"responseStart":712.8999999985099,"secureConnectionStart":654.0999999940395},{"duration":262.40000000596046,"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":444.59999999403954,"connectEnd":678.3999999985099,"connectStart":629.0999999940395,"domainLookupEnd":629.0999999940395,"domainLookupStart":629.0999999940395,"fetchStart":444.59999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":678.5999999940395,"responseEnd":707,"responseStart":706.0999999940395,"secureConnectionStart":653.5999999940395},{"duration":263.6000000014901,"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":444.69999999552965,"connectEnd":679.5999999940395,"connectStart":630.2999999970198,"domainLookupEnd":630.2999999970198,"domainLookupStart":630.2999999970198,"fetchStart":444.69999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":679.5999999940395,"responseEnd":708.2999999970198,"responseStart":707.5,"secureConnectionStart":654.8999999985099},{"duration":267,"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":444.8999999985099,"connectEnd":681.1999999955297,"connectStart":631.6999999955297,"domainLookupEnd":631.6999999955297,"domainLookupStart":631.6999999955297,"fetchStart":444.8999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":681.1999999955297,"responseEnd":711.8999999985099,"responseStart":710.7999999970198,"secureConnectionStart":656.2999999970198},{"duration":265.29999999701977,"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":445,"connectEnd":682.1999999955297,"connectStart":632.3999999985099,"domainLookupEnd":632.3999999985099,"domainLookupStart":632.3999999985099,"fetchStart":445,"redirectEnd":0,"redirectStart":0,"requestStart":682.2999999970198,"responseEnd":710.2999999970198,"responseStart":709.6999999955297,"secureConnectionStart":657.1999999955297},{"duration":186.70000000298023,"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":445.19999999552965,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":445.19999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":631.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":339.79999999701977,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":445.3999999985099,"connectEnd":757,"connectStart":706.8999999985099,"domainLookupEnd":706.8999999985099,"domainLookupStart":706.8999999985099,"fetchStart":445.3999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":757,"responseEnd":785.1999999955297,"responseStart":784.2999999970198,"secureConnectionStart":731.6999999955297},{"duration":208,"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":510,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":510,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":718,"responseStart":0,"secureConnectionStart":0},{"duration":1807.8000000044703,"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":510.19999999552965,"connectEnd":2289,"connectStart":2238.5,"domainLookupEnd":2238.5,"domainLookupStart":2238.5,"fetchStart":510.19999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":2289.2999999970198,"responseEnd":2318,"responseStart":2316.89999999851,"secureConnectionStart":2263},{"duration":1574,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1019.0999999940395,"connectEnd":2523.2999999970198,"connectStart":2473.7999999970198,"domainLookupEnd":2473.7999999970198,"domainLookupStart":2473.7999999970198,"fetchStart":1019.0999999940395,"redirectEnd":0,"redirectStart":0,"requestStart":2523.39999999851,"responseEnd":2593.0999999940395,"responseStart":2592.39999999851,"secureConnectionStart":2498.2999999970198}],"threshold":1000,"fetchStart":0,"domainLookupStart":233,"domainLookupEnd":281,"connectStart":281,"connectEnd":361,"secureConnectionStart":306,"requestStart":361,"responseStart":434,"responseEnd":540,"domLoading":438,"domInteractive":2903,"domContentLoadedEventStart":2903,"domContentLoadedEventEnd":2951,"domComplete":3195,"loadEventStart":3195,"loadEventEnd":3197,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"a3c449636ab7c8","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":147,"dbReadsTimeInMs":24,"dbConnsTimeInMs":32,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Approved 2015-10-1