- Once acquired, a lock is normally held till end of transaction. But if a
+ Once acquired, a lock is normally held until the end of the transaction. But if a
lock is acquired after establishing a savepoint, the lock is released
immediately if the savepoint is rolled back to. This is consistent with
the principle that ROLLBACK cancels all effects of the
conflicting locks on the same row, even in different subtransactions;
but other than that, two transactions can never hold conflicting locks
on the same row. Row-level locks do not affect data querying; they
- block only writers and lockers to the same row.
+ block only writers and lockers to the same
+ row. Row-level locks are released at transaction end or during
+ savepoint rollback, just like table-level locks.
+