CapabilityData & PersistenceNode.js, read from its artifacts

Concurrency control

Stopping two people who opened the same record from silently overwriting each other — detecting that the version you read is no longer the version you are saving over.

Showing artifacts, examples and content with confirmed Node.js applicability. View All CAP

Overview

SAP SHIPS
@sap/cds

Optimistic concurrency with ETags: an element annotated @odata.etag is the version, and an update whose If-Match no longer holds is rejected by the generic handlers.

A Node.js coverage assessment has not been written. View all flavors

THE COMMUNITY ADDS
cap-collaborative-draft

Locks a shared draft field by field. A PATCH acquires a lock per OData property name in DRAFT.DraftFieldLocks and answers HTTP 409 when another participant already holds a non-expired lock on one of the patched fields. Locks older than the configured TTL, 120 seconds by default, stop blocking, and the check reads the table rather than memory, so it holds across CAP instances. Nested child entities and associations are not covered.

A Node.js coverage assessment has not been written. View all flavors

Artifacts2

2 of 2 artifacts
ArtifactSignals
CDS plugins1
cap-collaborative-draftCollaborative draft support for CAP Node.js services
Signals
Functional boundary
Packages1
@sap/cdsCAP Node.js runtime
Signals
none

Details

Coverage
statecore and community, CAP, Node.js, derived
For your agent
Ref
capability:concurrency-control
JSON
/capabilities/concurrency-control.json
MCP
Connecting an agent