aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-06-03 19:18:00 +0000
committerBruce Momjian <bruce@momjian.us>1999-06-03 19:18:00 +0000
commite1ea7cc2e562b9e61528f37affada72a08a8adeb (patch)
treea95f4ce251a6962f12bad7f2825750913a5a5267
parent4a077caa60b9c47e8a17dd5501c5dbd1e8a51165 (diff)
downloadpostgresql-e1ea7cc2e562b9e61528f37affada72a08a8adeb.tar.gz
postgresql-e1ea7cc2e562b9e61528f37affada72a08a8adeb.zip
Update lock sgml/man/psql help pages.
-rw-r--r--doc/src/sgml/ref/lock.sgml23
-rw-r--r--src/bin/psql/psqlHelp.h5
-rw-r--r--src/man/lock.l10
3 files changed, 15 insertions, 23 deletions
diff --git a/doc/src/sgml/ref/lock.sgml b/doc/src/sgml/ref/lock.sgml
index dc702b0cdb8..804872d4a10 100644
--- a/doc/src/sgml/ref/lock.sgml
+++ b/doc/src/sgml/ref/lock.sgml
@@ -18,7 +18,7 @@
<DATE>1998-09-24</DATE>
</REFSYNOPSISDIVINFO>
<SYNOPSIS>
- LOCK [ TABLE ] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
+ LOCK [ TABLE ] [[IN] [ROW|ACCESS] [SHARE|EXCLUSIVE] MODE] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
</SYNOPSIS>
<REFSECT2 ID="R2-SQL-LOCK-1">
@@ -55,20 +55,6 @@
<PARA>
<VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- DELETE 0
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned on a successful lock.
- <command>LOCK</command> is implemented as a
- <command>DELETE FROM <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE></command>
- which is guaranteed to not delete any rows.
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
<TERM>
ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist.
</TERM>
@@ -92,8 +78,9 @@
Description
</TITLE>
<PARA>
- <command>LOCK</command> locks in exclusive mode a table inside
- a transaction. The classic use for this is
+ By default, <command>LOCK</command> locks in exclusive mode a table inside
+ a transaction. Various options allow shared access, or row-level locking
+ control. The classic use for this is
the case where you want to select some data, then
update it inside a transaction.
If you don't explicit lock a table using LOCK statement, it will be
@@ -183,7 +170,7 @@
<PARA>
There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>,
which instead uses <command>SET TRANSACTION</command> to specify
- concurrency level on transactions.
+ concurrency level on transactions. We support that too.
</para>
</refsect2>
</refsect1>
diff --git a/src/bin/psql/psqlHelp.h b/src/bin/psql/psqlHelp.h
index 6840786358f..507b0d54b4d 100644
--- a/src/bin/psql/psqlHelp.h
+++ b/src/bin/psql/psqlHelp.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: psqlHelp.h,v 1.66 1999/06/03 18:37:59 momjian Exp $
+ * $Id: psqlHelp.h,v 1.67 1999/06/03 19:17:59 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -283,7 +283,8 @@ static struct _helpStruct QL_HELP[] = {
{"lock",
"exclusive lock a table inside a transaction",
"\
-\tLOCK [TABLE] class_name;"},
+\tLOCK [TABLE] class_name \n\
+\t[[IN] [ROW|ACCESS] [SHARE|EXCLUSIVE] MODE];"},
{"move",
"move an cursor position",
"\
diff --git a/src/man/lock.l b/src/man/lock.l
index 440e491b863..5f71a8a5d6a 100644
--- a/src/man/lock.l
+++ b/src/man/lock.l
@@ -1,16 +1,20 @@
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/lock.l,v 1.5 1998/03/23 15:09:34 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/lock.l,v 1.6 1999/06/03 19:18:00 momjian Exp $
.TH FETCH SQL 01/23/93 PostgreSQL PostgreSQL
.SH NAME
lock - exclusive lock a table
.SH SYNOPSIS
.nf
-\fBlock\fR [\fBtable\fR] classname
+\fBlock\fR [\fBtable\fR] classname [[IN] [ROW|ACCESS] [SHARE|EXCLUSIVE] MODE]
.fi
.SH DESCRIPTION
+By default,
.BR lock
-exclusive locks a table inside a transaction. The classic use for this
+exclusive locks an entire table inside a transaction.
+Various options allow shared access, or row-level locking control.
+.PP
+The classic use for this
is the case where you want to \fBselect\fP some data, then update it
inside a transaction. If you don't exclusive lock the table before the
\fBselect\fP, some other user may also read the selected data, and try