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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy