-
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":"0f861256-9500-4040-86b8-8226d473e494","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":2974.699999809265,"redirectCount":0,"resourceLoadedEnd":2774.4000000953674,"resourceLoadedStart":319.80000019073486,"resourceTiming":[{"duration":167.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":319.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":319.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":487.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":167.90000009536743,"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":320.09999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":320.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":488,"responseStart":0,"secureConnectionStart":0},{"duration":168.39999961853027,"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":320.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":320.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":488.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":169.09999990463257,"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":320.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":320.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":489.59999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":169.5,"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":320.69999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":320.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":490.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":640.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":320.90000009536743,"connectEnd":750.4000000953674,"connectStart":701.3000001907349,"domainLookupEnd":701.3000001907349,"domainLookupStart":701.1999998092651,"fetchStart":320.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":751,"responseEnd":961.6999998092651,"responseStart":790.5,"secureConnectionStart":725.5},{"duration":2453.4000000953674,"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":321,"connectEnd":793.1999998092651,"connectStart":745,"domainLookupEnd":745,"domainLookupStart":745,"fetchStart":321,"redirectEnd":0,"redirectStart":0,"requestStart":793.1999998092651,"responseEnd":2774.4000000953674,"responseStart":821.8000001907349,"secureConnectionStart":768.9000000953674},{"duration":512.0999999046326,"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":321.09999990463257,"connectEnd":806.4000000953674,"connectStart":757.4000000953674,"domainLookupEnd":757.4000000953674,"domainLookupStart":757.3000001907349,"fetchStart":321.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":806.5,"responseEnd":833.1999998092651,"responseStart":832.1999998092651,"secureConnectionStart":781.6999998092651},{"duration":529.5,"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":321.30000019073486,"connectEnd":823.5999999046326,"connectStart":775,"domainLookupEnd":775,"domainLookupStart":775,"fetchStart":321.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":823.6999998092651,"responseEnd":850.8000001907349,"responseStart":849.1999998092651,"secureConnectionStart":798.9000000953674},{"duration":597.3000001907349,"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":321.5,"connectEnd":886.8000001907349,"connectStart":832.9000000953674,"domainLookupEnd":832.9000000953674,"domainLookupStart":832.9000000953674,"fetchStart":321.5,"redirectEnd":0,"redirectStart":0,"requestStart":887.0999999046326,"responseEnd":918.8000001907349,"responseStart":917.6999998092651,"secureConnectionStart":861.8000001907349},{"duration":614.9000000953674,"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":321.69999980926514,"connectEnd":905.9000000953674,"connectStart":850.5999999046326,"domainLookupEnd":850.5999999046326,"domainLookupStart":850.5,"fetchStart":321.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":909,"responseEnd":936.5999999046326,"responseStart":935.3000001907349,"secureConnectionStart":874.5999999046326},{"duration":177.89999961853027,"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":321.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":321.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":499.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":681.0999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":322,"connectEnd":967.3000001907349,"connectStart":918.6999998092651,"domainLookupEnd":918.6999998092651,"domainLookupStart":918.6999998092651,"fetchStart":322,"redirectEnd":0,"redirectStart":0,"requestStart":967.5,"responseEnd":1003.0999999046326,"responseStart":997,"secureConnectionStart":942.6999998092651},{"duration":241.10000038146973,"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":361.69999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":361.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":602.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":1970,"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":361.90000009536743,"connectEnd":2303.300000190735,"connectStart":2254.800000190735,"domainLookupEnd":2254.800000190735,"domainLookupStart":2254.800000190735,"fetchStart":361.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":2303.4000000953674,"responseEnd":2331.9000000953674,"responseStart":2330.5999999046326,"secureConnectionStart":2278.800000190735},{"duration":2256,"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":371.19999980926514,"connectEnd":2600,"connectStart":2551.0999999046326,"domainLookupEnd":2551.0999999046326,"domainLookupStart":2551.0999999046326,"fetchStart":371.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":2600,"responseEnd":2627.199999809265,"responseStart":2626.199999809265,"secureConnectionStart":2575.199999809265},{"duration":2247.699999809265,"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":392,"connectEnd":2612.9000000953674,"connectStart":2564.4000000953674,"domainLookupEnd":2564.4000000953674,"domainLookupStart":2564.4000000953674,"fetchStart":392,"redirectEnd":0,"redirectStart":0,"requestStart":2613,"responseEnd":2639.699999809265,"responseStart":2638.800000190735,"secureConnectionStart":2588.300000190735},{"duration":1368.6999998092651,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1103.9000000953674,"connectEnd":2441.699999809265,"connectStart":2392.9000000953674,"domainLookupEnd":2392.9000000953674,"domainLookupStart":2392.9000000953674,"fetchStart":1103.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":2441.800000190735,"responseEnd":2472.5999999046326,"responseStart":2471.699999809265,"secureConnectionStart":2417}],"threshold":1000,"fetchStart":0,"domainLookupStart":118,"domainLookupEnd":143,"connectStart":143,"connectEnd":232,"secureConnectionStart":169,"requestStart":232,"responseStart":313,"responseEnd":392,"domLoading":319,"domInteractive":3028,"domContentLoadedEventStart":3028,"domContentLoadedEventEnd":3078,"domComplete":3802,"loadEventStart":3802,"loadEventEnd":3804,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"b0c7b38dd024d0","effectiveType":"4g","downlink":9.1,"rtt":0,"serverDuration":122,"dbReadsTimeInMs":37,"dbConnsTimeInMs":40,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Approved 2015-10-1