A database transaction groups multiple changes into one atomic unit: either every operation succeeds or the system rolls them all back. This prevents partial results when concurrent users modify a volatile dataset. section 18.1 section 17.3.6
Use transactional semantics when operations span resources or when intermediate states would be invalid:
- For copying resources, preserve a consistent snapshot of the source while reading and creating destination entries. section 17.3.6
- For moving resources, update identifiers and related references together so a failure does not leave the dataset partially changed. section 17.3.6
- When a web API lacks generic transactions, consider transaction-like semantics for dependent requests, while recognizing that providing them is complex. section 18.1
Enabling a default logging configuration
Suppose a ChatRoom logging configuration must be enabled before it can become the default. Enabling it and assigning it as the default should either both succeed or both fail; otherwise the API can expose an invalid intermediate state. section 18.1













