Skip to content

Commit ebfbb79

Browse files
author
Thomas G. Lockhart
committed
Add input parameters for LOCK TABLE. Still needs explanation from Vadim.
Fix markup.
1 parent 39fc813 commit ebfbb79

File tree

2 files changed

+589
-520
lines changed

2 files changed

+589
-520
lines changed

doc/src/sgml/ref/lock.sgml

Lines changed: 163 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,156 @@
1-
<REFENTRY ID="SQL-LOCK">
2-
<REFMETA>
3-
<REFENTRYTITLE>
1+
<refentry id="SQL-LOCK">
2+
<refmeta>
3+
<refentrytitle>
44
LOCK
5-
</REFENTRYTITLE>
6-
<REFMISCINFO>SQL - Language Statements</REFMISCINFO>
7-
</REFMETA>
8-
<REFNAMEDIV>
9-
<REFNAME>
5+
</refentrytitle>
6+
<refmiscinfo>SQL - Language Statements</refmiscinfo>
7+
</refmeta>
8+
<refnamediv>
9+
<refname>
1010
LOCK
11-
</REFNAME>
12-
<REFPURPOSE>
11+
</refname>
12+
<refpurpose>
1313
Explicit lock of a table inside a transaction
14-
</REFPURPOSE>
14+
</refpurpose>
1515
</refnamediv>
16-
<REFSYNOPSISDIV>
17-
<REFSYNOPSISDIVINFO>
18-
<DATE>1998-09-24</DATE>
19-
</REFSYNOPSISDIVINFO>
20-
<SYNOPSIS>
21-
LOCK [ TABLE ] [IN [ROW|ACCESS] [SHARE|EXCLUSIVE] | [SHARE ROW EXCLUSIVE] MODE]
22-
<REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
23-
</SYNOPSIS>
16+
<refsynopsisdiv>
17+
<refsynopsisdivinfo>
18+
<date>1998-09-24</date>
19+
</refsynopsisdivinfo>
20+
<synopsis>
21+
LOCK [ TABLE ] <replaceable class="PARAMETER">table</replaceable>
22+
LOCK [ TABLE ] <replaceable class="PARAMETER">table</replaceable> IN [ ROW | ACCESS ] { SHARE | EXCLUSIVE } MODE
23+
LOCK [ TABLE ] <replaceable class="PARAMETER">table</replaceable> IN SHARE ROW EXCLUSIVE MODE
24+
</synopsis>
2425

25-
<REFSECT2 ID="R2-SQL-LOCK-1">
26-
<REFSECT2INFO>
27-
<DATE>1998-09-01</DATE>
28-
</REFSECT2INFO>
29-
<TITLE>
26+
<refsect2 id="R2-SQL-LOCK-1">
27+
<refsect2info>
28+
<date>1998-09-01</date>
29+
</refsect2info>
30+
<title>
3031
Inputs
31-
</TITLE>
32-
<PARA>
33-
</PARA>
34-
<VARIABLELIST>
35-
<VARLISTENTRY>
36-
<TERM>
37-
<REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
38-
</TERM>
39-
<LISTITEM>
40-
<PARA>
41-
The name of an existing table to lock.
42-
</para>
43-
</listitem>
44-
</varlistentry>
45-
</VARIABLELIST>
46-
47-
</REFSECT2>
32+
</title>
33+
<para>
34+
35+
<variablelist>
36+
<varlistentry>
37+
<term>
38+
<replaceable class="PARAMETER">table</replaceable>
39+
</term>
40+
<listitem>
41+
<para>
42+
The name of an existing table to lock.
43+
</para>
44+
</listitem>
45+
</varlistentry>
46+
47+
<varlistentry>
48+
<term>
49+
SHARE MODE
50+
</term>
51+
<listitem>
52+
<para>
53+
</para>
54+
</listitem>
55+
</varlistentry>
56+
57+
<varlistentry>
58+
<term>
59+
EXCLUSIVE MODE
60+
</term>
61+
<listitem>
62+
<para>
63+
</para>
64+
</listitem>
65+
</varlistentry>
66+
67+
<varlistentry>
68+
<term>
69+
ROW SHARE MODE
70+
</term>
71+
<listitem>
72+
<para>
73+
</para>
74+
</listitem>
75+
</varlistentry>
76+
77+
<varlistentry>
78+
<term>
79+
ROW EXCLUSIVE MODE
80+
</term>
81+
<listitem>
82+
<para>
83+
</para>
84+
</listitem>
85+
</varlistentry>
4886

49-
<REFSECT2 ID="R2-SQL-LOCK-2">
50-
<REFSECT2INFO>
51-
<DATE>1998-09-24</DATE>
52-
</REFSECT2INFO>
53-
<TITLE>
87+
<varlistentry>
88+
<term>
89+
ACCESS SHARE MODE
90+
</term>
91+
<listitem>
92+
<para>
93+
</para>
94+
</listitem>
95+
</varlistentry>
96+
97+
<varlistentry>
98+
<term>
99+
ACCESS EXCLUSIVE MODE
100+
</term>
101+
<listitem>
102+
<para>
103+
</para>
104+
</listitem>
105+
</varlistentry>
106+
107+
<varlistentry>
108+
<term>
109+
SHARE ROW EXCLUSIVE MODE
110+
</term>
111+
<listitem>
112+
<para>
113+
</para>
114+
</listitem>
115+
</varlistentry>
116+
</variablelist>
117+
</para>
118+
</refsect2>
119+
120+
<refsect2 id="R2-SQL-LOCK-2">
121+
<refsect2info>
122+
<date>1998-09-24</date>
123+
</refsect2info>
124+
<title>
54125
Outputs
55-
</TITLE>
56-
<PARA>
126+
</title>
127+
<para>
57128

58-
<VARIABLELIST>
59-
<TERM>
60-
ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist.
61-
</TERM>
62-
<LISTITEM>
63-
<PARA>
64-
Message returned if <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
129+
<variablelist>
130+
<varlistentry>
131+
<term>
132+
ERROR <replaceable class="PARAMETER">table</replaceable>: Table does not exist.
133+
</term>
134+
<listitem>
135+
<para>
136+
Message returned if <replaceable class="PARAMETER">table</replaceable>
65137
does not exist.
66138
</para>
67139
</listitem>
68140
</varlistentry>
69-
</VARIABLELIST>
141+
</variablelist>
70142
</para>
71-
</REFSECT2>
72-
</REFSYNOPSISDIV>
143+
</refsect2>
144+
</refsynopsisdiv>
73145

74-
<REFSECT1 ID="R1-SQL-LOCK-1">
75-
<REFSECT1INFO>
76-
<DATE>1998-09-24</DATE>
77-
</REFSECT1INFO>
78-
<TITLE>
146+
<refsect1 id="R1-SQL-LOCK-1">
147+
<refsect1info>
148+
<date>1998-09-24</date>
149+
</refsect1info>
150+
<title>
79151
Description
80-
</TITLE>
81-
<PARA>
152+
</title>
153+
<para>
82154
By default, <command>LOCK</command> locks in exclusive mode a table inside
83155
a transaction. Various options allow shared access, or row-level locking
84156
control. The classic use for this is
@@ -112,13 +184,13 @@
112184
</para>
113185
</note>
114186

115-
<REFSECT2 ID="R2-SQL-LOCK-3">
116-
<REFSECT2INFO>
117-
<DATE>1998-09-24</DATE>
118-
</REFSECT2INFO>
119-
<TITLE>
187+
<refsect2 id="R2-SQL-LOCK-3">
188+
<refsect2info>
189+
<date>1998-09-24</date>
190+
</refsect2info>
191+
<title>
120192
Notes
121-
</TITLE>
193+
</title>
122194
<para>
123195
<command>LOCK</command> is a <productname>Postgres</productname>
124196
language extension.
@@ -134,16 +206,16 @@
134206
</para>
135207
</note>
136208
</para>
137-
</REFSECT2>
209+
</refsect2>
138210
</refsect1>
139211

140-
<REFSECT1 ID="R1-SQL-LOCK-2">
141-
<TITLE>
212+
<refsect1 id="R1-SQL-LOCK-2">
213+
<title>
142214
Usage
143-
</TITLE>
144-
<PARA>
145-
</PARA>
146-
<ProgramListing>
215+
</title>
216+
<para>
217+
</para>
218+
<programlisting>
147219
--Explicit locking to prevent deadlock:
148220
--
149221
BEGIN WORK;
@@ -152,30 +224,30 @@
152224
UPDATE films SET len = INTERVAL '100 minute'
153225
WHERE len = INTERVAL '117 minute';
154226
COMMIT WORK;
155-
</ProgramListing>
227+
</programlisting>
156228

157-
</REFSECT1>
229+
</refsect1>
158230

159-
<REFSECT1 ID="R1-SQL-LOCK-3">
160-
<TITLE>
231+
<refsect1 id="R1-SQL-LOCK-3">
232+
<title>
161233
Compatibility
162-
</TITLE>
234+
</title>
163235

164-
<REFSECT2 ID="R2-SQL-LOCK-4">
165-
<REFSECT2INFO>
166-
<DATE>1998-09-24</DATE>
167-
</REFSECT2INFO>
168-
<TITLE>
236+
<refsect2 id="R2-SQL-LOCK-4">
237+
<refsect2info>
238+
<date>1998-09-24</date>
239+
</refsect2info>
240+
<title>
169241
SQL92
170-
</TITLE>
171-
<PARA>
242+
</title>
243+
<para>
172244
There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>,
173245
which instead uses <command>SET TRANSACTION</command> to specify
174246
concurrency level on transactions. We support that too.
175247
</para>
176248
</refsect2>
177249
</refsect1>
178-
</REFENTRY>
250+
</refentry>
179251

180252
<!-- Keep this comment at the end of the file
181253
Local variables:

0 commit comments

Comments
 (0)