• Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • V4.01_CSD02
    • Affects Version/s: V4.01_CSD01
    • Component/s: Protocol
    • None
    • Environment:

      Applied

    • Hide

      Add path segment /$each to apply an operation on each item of a collection, executed all-or-nothing atomically:

      DELETE Orders/$filter=@f/$each?@f=Age gt 3
      PATCH Orders/$each - with single payload
      PATCH Orders - with delta payload
      POST Orders/$filter=@f/$each/Some.SingleAction?@f=Age gt 2 - binding parameter is single order
      POST Orders/$filter=@f/Some.CollectionAction?@f=Age gt 2 - binding parameter is collection of orders

      Show
      Add path segment /$each to apply an operation on each item of a collection, executed all-or-nothing atomically: DELETE Orders/$filter=@f/$each?@f=Age gt 3 PATCH Orders/$each - with single payload PATCH Orders - with delta payload POST Orders/$filter=@f/$each/Some.SingleAction?@f=Age gt 2 - binding parameter is single order POST Orders/$filter=@f/Some.CollectionAction?@f=Age gt 2 - binding parameter is collection of orders
    • Show
      https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/4.01%20spec/ABNF/odata-abnf-construction-rules.txt?op=diff&rev=0&sc=0 https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/4.01%20spec/ABNF/odata-abnf-testcases.xml?op=diff&rev=1024&sc=0

      As of 4.01 we support PATCH to a collection of entities. The PATCH is either interpreted as a set operation (if the payload is a single entity) or applied as a delta payload (if the payload has a context URL of #$delta.

      Rather than distinguishing on payload, what if we said that PATCH to a collection of entities is always interpreted as an operation on the set as a whole, and a new path segment /$each is used for an atomic operation on each of the entities, especially DELETE, and PATCH with a single-instance payload.

            Assignee:
            Unassigned
            Reporter:
            Michael Pizzo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: