You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So, suppose we have a collection primitive value properties as "Emails"
we should support:
~/odata/customers(1)/emails/0 --> returns the first email or not found
~/odata/customers(1)/emails/1 --> returns the second or not found
~/odata/customers(1)/emails/-1 --> returns the last email or not found
So, suppose we have a collection complex value properties as "Locations"
we should support:
~/odata/customers(1)/Locations/0 --> returns the first location or not found
~/odata/customers(1)/Locations/1 --> returns the location or not found
~/odata/customers(1)/Locations/-1 --> returns the last location or not found
~/odata/customers(1)/Locations/{index}/city --> returns the city property of location which is located at {index} of Locations?
Expected result
What would happen if there wasn't a bug.
Actual result
What is actually happening.
Additional detail
Optional, details of the root cause if known. Delete this section if you have no additional details to add.
The text was updated successfully, but these errors were encountered:
It's waiting customers' requirements.
And there's a concern for the concurrency.
Suppose you get a item using the index, for example:
GET ~/odata/customers(1)/emails/2
then, some one deletes the third email using:
DELETE ~/odata/customers(1)/emails/2
Then, you use the original URI to fetch the third email is not the original email before the changes.
==> Design
Basically, to keep concurrency is based on end user business logic. The end user can only allow 'GET', but disallow to 'DELETE', 'PATCH' using the index on the collection.
From ODL perspective, ODL should allow parse the 'index' segment after collection. Then, the upper layer (the end user) can implement its logic based on the parsing result. Otherwise, the end user cannot benefit from it.
We can have more dicussion on it and looking forward more community feedbacks. @mikepizzo
Short summary (3-5 sentences) describing the issue.
Assemblies affected
primitiveColPath = count / boundOperation / ordinalIndex
complexColPath = ordinalIndex
/ [ "/" qualifiedComplexTypeName ] [ count / boundOperation ]
ordinalIndex = "/" 1*DIGIT
Reproduce steps
So, suppose we have a collection primitive value properties as "Emails"
we should support:
~/odata/customers(1)/emails/0 --> returns the first email or not found
~/odata/customers(1)/emails/1 --> returns the second or not found
~/odata/customers(1)/emails/-1 --> returns the last email or not found
So, suppose we have a collection complex value properties as "Locations"
we should support:
~/odata/customers(1)/Locations/0 --> returns the first location or not found
~/odata/customers(1)/Locations/1 --> returns the location or not found
~/odata/customers(1)/Locations/-1 --> returns the last location or not found
~/odata/customers(1)/Locations/{index}/city --> returns the city property of location which is located at {index} of Locations?
Expected result
What would happen if there wasn't a bug.
Actual result
What is actually happening.
Additional detail
Optional, details of the root cause if known. Delete this section if you have no additional details to add.
The text was updated successfully, but these errors were encountered: