-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution:
Fixed
-
Affects Version/s:
None
-
Fix Version/s:
None
-
-
-
-
Proposal:
Hide
Add the following types to the list of built-in types:
-Edm.PrimitiveType
-Edm.ComplexType
-Edm.EntityType
Conceptually, these are the (default) abstract base types for primitive types, complex types, and entity types, respectively, and can be used anywhere the corresponding type can be used, except:
1) you can't use Edm.EntityType as the type for a named top-level entity in your container.
2) you can't use Edm.EntityType as the type of an entityset (because all entities in an entityset must currently have the same key fields to uniquely identify it within the set)
3) in the base attribute of an EntityType/ComplexType definition (it's assumed)
Examples of where you can use these abstract base types, as appropriate:
-as the type of a collection (i.e., Collection(Edm.EntityType) in a navigation property)
-in a TypeDefinition
-in a Property definition (Edm.ComplexType, Edm.PrimitiveType, Collection(Edm.ComplexType), Collection(Edm.PrimitiveType)
-in a navigation property definition (Edm.EntityType, Collection(Edm.EntityType)
-in a Parameter definition
-as a Function returntype
-in a Term definition
Note that you can cast the results of a function, for example, to a particular type in order to access it's properties (i.e., in a $filter, $expand, or $orderby). For example:
~MyFunctionThatReturnsAnyEntityType()/MyModel.Customer?$filter=FirstName eq 'Ralf'
This filters the results to only those that match the specified type and casts the results to that type.
Accepted: https://www.oasis-open.org/committees/download.php/48097/odata-meeting-23_on-20130130_31-F2F-minutes.html#odata-16
Show
Add the following types to the list of built-in types:
-Edm.PrimitiveType
-Edm.ComplexType
-Edm.EntityType
Conceptually, these are the (default) abstract base types for primitive types, complex types, and entity types, respectively, and can be used anywhere the corresponding type can be used, except:
1) you can't use Edm.EntityType as the type for a named top-level entity in your container.
2) you can't use Edm.EntityType as the type of an entityset (because all entities in an entityset must currently have the same key fields to uniquely identify it within the set)
3) in the base attribute of an EntityType/ComplexType definition (it's assumed)
Examples of where you can use these abstract base types, as appropriate:
-as the type of a collection (i.e., Collection(Edm.EntityType) in a navigation property)
-in a TypeDefinition
-in a Property definition (Edm.ComplexType, Edm.PrimitiveType, Collection(Edm.ComplexType), Collection(Edm.PrimitiveType)
-in a navigation property definition (Edm.EntityType, Collection(Edm.EntityType)
-in a Parameter definition
-as a Function returntype
-in a Term definition
Note that you can cast the results of a function, for example, to a particular type in order to access it's properties (i.e., in a $filter, $expand, or $orderby). For example:
~MyFunctionThatReturnsAnyEntityType()/MyModel.Customer?$filter=FirstName eq 'Ralf'
This filters the results to only those that match the specified type and casts the results to that type.
Accepted: https://www.oasis-open.org/committees/download.php/48097/odata-meeting-23_on-20130130_31-F2F-minutes.html#odata-16
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/48171/odata-core-v1.0-wd01-part3-csdl-2013-02-07-RH.doc
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/csdl.xsd?rev=175
Accepted: https://www.oasis-open.org/committees/download.php/48269/odata-meeting-25_on-20130214-minutes.html#odata-16
OData might be extended to allow functions to apply to entity sets of any entity type. This could greatly reduce the number of functions that need to be defined for OData Extension for Temporal Data.
This can also greatly simplify the Data Aggregation Extension, especially the WHERE-GROUPBY-HAVING dilemma.
Consider a general Edm.Any type that can be used in Type= throughout the CSDL.
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"00a39f14-4165-45ed-b72c-76ea004cda61","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":1202.5999999046326,"redirectCount":0,"resourceLoadedEnd":1487.5,"resourceLoadedStart":167.80000019073486,"resourceTiming":[{"duration":657.7999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":167.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":167.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":825.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":657.9000000953674,"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":168.09999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":826,"responseStart":0,"secureConnectionStart":0},{"duration":658.1999998092651,"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":168.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":826.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":658.5999999046326,"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":168.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":827.0999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":659,"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":168.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":827.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":703.5999999046326,"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":168.90000009536743,"connectEnd":168.90000009536743,"connectStart":168.90000009536743,"domainLookupEnd":168.90000009536743,"domainLookupStart":168.90000009536743,"fetchStart":168.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":168.90000009536743,"responseEnd":872.5,"responseStart":872.5,"secureConnectionStart":168.90000009536743},{"duration":720.7000002861023,"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":169.59999990463257,"connectEnd":169.59999990463257,"connectStart":169.59999990463257,"domainLookupEnd":169.59999990463257,"domainLookupStart":169.59999990463257,"fetchStart":169.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":169.59999990463257,"responseEnd":890.3000001907349,"responseStart":890.3000001907349,"secureConnectionStart":169.59999990463257},{"duration":722.8999996185303,"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":169.80000019073486,"connectEnd":169.80000019073486,"connectStart":169.80000019073486,"domainLookupEnd":169.80000019073486,"domainLookupStart":169.80000019073486,"fetchStart":169.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":169.80000019073486,"responseEnd":892.6999998092651,"responseStart":892.6999998092651,"secureConnectionStart":169.80000019073486},{"duration":723.1999998092651,"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":169.90000009536743,"connectEnd":169.90000009536743,"connectStart":169.90000009536743,"domainLookupEnd":169.90000009536743,"domainLookupStart":169.90000009536743,"fetchStart":169.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":169.90000009536743,"responseEnd":893.0999999046326,"responseStart":893.0999999046326,"secureConnectionStart":169.90000009536743},{"duration":723.4000000953674,"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":170.09999990463257,"connectEnd":170.09999990463257,"connectStart":170.09999990463257,"domainLookupEnd":170.09999990463257,"domainLookupStart":170.09999990463257,"fetchStart":170.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":170.09999990463257,"responseEnd":893.5,"responseStart":893.5,"secureConnectionStart":170.09999990463257},{"duration":723.7000002861023,"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":170.19999980926514,"connectEnd":170.19999980926514,"connectStart":170.19999980926514,"domainLookupEnd":170.19999980926514,"domainLookupStart":170.19999980926514,"fetchStart":170.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":170.19999980926514,"responseEnd":893.9000000953674,"responseStart":893.9000000953674,"secureConnectionStart":170.19999980926514},{"duration":724.0999999046326,"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":170.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":170.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":894.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":723.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":170.59999990463257,"connectEnd":170.59999990463257,"connectStart":170.59999990463257,"domainLookupEnd":170.59999990463257,"domainLookupStart":170.59999990463257,"fetchStart":170.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":170.59999990463257,"responseEnd":894.3000001907349,"responseStart":894.3000001907349,"secureConnectionStart":170.59999990463257},{"duration":692.5,"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":202.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":202.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":894.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":692.5999999046326,"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":202.40000009536743,"connectEnd":202.40000009536743,"connectStart":202.40000009536743,"domainLookupEnd":202.40000009536743,"domainLookupStart":202.40000009536743,"fetchStart":202.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":202.40000009536743,"responseEnd":895,"responseStart":895,"secureConnectionStart":202.40000009536743}],"threshold":1000,"fetchStart":0,"domainLookupStart":63,"domainLookupEnd":63,"connectStart":63,"connectEnd":112,"secureConnectionStart":87,"requestStart":112,"responseStart":160,"responseEnd":227,"domLoading":163,"domInteractive":1505,"domContentLoadedEventStart":1505,"domContentLoadedEventEnd":1544,"domComplete":2420,"loadEventStart":2420,"loadEventEnd":2423,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"c17b42430129cd","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":85,"dbReadsTimeInMs":8,"dbConnsTimeInMs":10,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}