-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: V4.01_OS
-
Fix Version/s: V4.01_ERRATA01
-
Component/s: Protocol
-
Labels:None
-
Proposal:
-
Resolution:
Total or partial order?
OData-Protocol, section 11.2.6.2 speaks of "the order" in which items are returned. Must this be a total order, or only a partial order? A partial order would not allow paging with $top and $skip. But not all services may be able to produce a total order.
This should be clarified.
Further implications of partial ordering
OData-Protocol, section 11.2.6.3 seems to allow n arbitrary items to be returned:
a non-negative integer n that limits the number of items returned from a collection.
The next sentence sounds as if a number was returned:
The service returns the number of available items up to but not greater than the specified value n.
OData-Protocol, section 11.2.6.4 is clearer:
excludes the first n items of the queried collection from the result. The service returns items starting at position n+1.
Both definitions assume that "the first n items" always exist. But in general the result set is neither totally ordered (in which case "the first n" would be well-defined) nor totally unordered (in which case n arbitrary items could be returned or skipped). After an $orderby, the result set may be only partially ordered.
The definitions of $top and $skip should make clearer what freedom to choose n items the server has.