<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.22 2002/01/20 22:19:56 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.23 2002/02/18 16:13:10 tgl Exp $
-->
<chapter id="mvcc">
<para>
The main difference between multiversion and lock models is that
in MVCC locks acquired for querying (reading) data don't conflict
- with locks acquired for writing data and so reading never blocks
+ with locks acquired for writing data, and so reading never blocks
writing and writing never blocks reading.
</para>
</sect1>
<para>
Acquired by <command>SELECT FOR UPDATE</command>
and <command>LOCK TABLE</command>
- for <option>IN ROW SHARE MODE</option> statements.
+ <option>IN ROW SHARE MODE</option> statements.
</para>
<para>
<para>
Acquired by <command>UPDATE</command>, <command>DELETE</command>,
<command>INSERT</command> and <command>LOCK TABLE</command>
- for <option>IN ROW EXCLUSIVE MODE</option> statements.
+ <option>IN ROW EXCLUSIVE MODE</option> statements.
</para>
<para>
<listitem>
<para>
Acquired by <command>VACUUM</command> (without <option>FULL</option>)
- and <command>LOCK TABLE</command> table
- for <option>IN SHARE UPDATE EXCLUSIVE MODE</option>
+ and <command>LOCK TABLE</command>
+ <option>IN SHARE UPDATE EXCLUSIVE MODE</option>
statements.
</para>
<listitem>
<para>
Acquired by <command>CREATE INDEX</command>
- and <command>LOCK TABLE</command> table
- for <option>IN SHARE MODE</option>
+ and <command>LOCK TABLE</command>
+ <option>IN SHARE MODE</option>
statements.
</para>
</term>
<listitem>
<para>
- Acquired by <command>LOCK TABLE</command> for
+ Acquired by <command>LOCK TABLE</command>
<option>IN SHARE ROW EXCLUSIVE MODE</option> statements.
</para>
</term>
<listitem>
<para>
- Acquired by <command>LOCK TABLE</command> table
- for <option>IN EXCLUSIVE MODE</option> statements.
+ Acquired by <command>LOCK TABLE</command>
+ <option>IN EXCLUSIVE MODE</option> statements.
</para>
<para>
Acquired by <command>ALTER TABLE</command>,
<command>DROP TABLE</command>,
<command>VACUUM FULL</command> and <command>LOCK TABLE</command>
- statements.
+ <option>IN ACCESS EXCLUSIVE MODE</option> (or plain
+ <command>LOCK TABLE</command>) statements.
</para>
<para>