Skip to content

Implement atomicity group handling and separate transactions for batch requests #89

@kbarbounakis

Description

@kbarbounakis

Is your feature request related to a problem? Please describe.
Currently, batch requests in OData v4 leverage atomicity groups (changesets) to ensure groups of operations are processed within the same transaction. The current implementation lacks fine-grained support for executing each atomicity group (set of operations) as a distinct transaction within batch requests.

Describe the solution you'd like

  • Implement logic to detect and group changesets/atomicity groups in batch requests according to OData v4 standards.
  • Ensure each atomicity group is executed in a separate transaction, such that the success or failure of one group does not affect others.
  • Roll back changes only within the failed atomicity group, while successfully committed groups remain intact (as per OData batch protocol).
  • Handle correct response structure indicating the transaction status of each atomicity group.

Describe alternatives you've considered

  • Treating the whole batch as a single transaction (already being handled in parent issue).

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions