-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.01_CSD02
-
Fix Version/s: V4.01_CSD03
-
Component/s: Protocol
-
Labels:None
-
Environment:
[Proposed]
-
Proposal:
-
Resolution:
In OData-1105 we introduced $select options. The initial motivation for this was to provide an alternate, more concise way to specify the subset of properties of a complex type that was consistent with $expand. Arguably, this is how nested $select properties should have been done in 4.0.
Once we introduced the syntax that was more consistent with $expand, we also discovered that some of the $expand query options could quite naturally apply to collections of structural properties as well, and added things like $filter, $orderby, $search, etc.
When deciding where to put this new functionality in the conformance section, we made these new nested select options a SHOULD in 4.01 intermediate, and a MUST in 4.01 Advanced, since nesting $filter, $orderby, etc. within the $select represented new advanced functionality that we didn't want to make required in intermediate.
However, we kinda forgot the initial purpose of the issues, which was to provide a more concise and consistent syntax for selecting a subset of fields within a complex type.
In order for clients to reliably take advantage of this new syntax, that (for nested $select) doesn't introduce any additional functionality, we should make support for the 4.01 syntax be at the same level as the 4.0 syntax; that is, supporting $select as a select option should be required in intermediate for a 4.01 service.