@@ -1039,9 +1039,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
1039
1039
</tip>
1040
1040
1041
1041
<para>
1042
- Once acquired, a lock is normally heldtill end of transaction. But if a
1042
+ Once acquired, a lock is normally helduntil the end of the transaction. But if a
1043
1043
lock is acquired after establishing a savepoint, the lock is released
1044
- immediately if the savepoint is rolled back to . This is consistent with
1044
+ immediately if the savepoint is rolled back. This is consistent with
1045
1045
the principle that <command>ROLLBACK</command> cancels all effects of the
1046
1046
commands since the savepoint. The same holds for locks acquired within a
1047
1047
<application>PL/pgSQL</application> exception block: an error escape from the block
@@ -1178,7 +1178,10 @@ ERROR: could not serialize access due to read/write dependencies among transact
1178
1178
conflicting locks on the same row, even in different subtransactions;
1179
1179
but other than that, two transactions can never hold conflicting locks
1180
1180
on the same row. Row-level locks do not affect data querying; they
1181
- block only <emphasis>writers and lockers</emphasis> to the same row.
1181
+ block only <emphasis>writers and lockers</emphasis> to the same
1182
+ row. Row-level locks are released at transaction end or during
1183
+ savepoint rollback, just like table-level locks.
1184
+
1182
1185
</para>
1183
1186
1184
1187
<variablelist>