doc: FOR UPDATE / KEY / SHARE / KEY SHARE takes an table alias
authorBruce Momjian
Fri, 8 Dec 2023 00:43:04 +0000 (19:43 -0500)
committerBruce Momjian
Fri, 8 Dec 2023 00:43:04 +0000 (19:43 -0500)
Previously only a table name was documented for this SELECT clause.

Reported-by: robert
Discussion: https://postgr.es/m/152483686904.19805.3369061025704720797@wrigleys.postgresql.org

Backpatch-through: master

doc/src/sgml/ref/select.sgml

index 227ba1993bbcfb890bfffa877617202c57131604..9917df7839bb423988fbc1f7ec88da7046bfa25b 100644 (file)
@@ -45,7 +45,7 @@ SELECT [ ALL | DISTINCT [ ON ( expression
     [ LIMIT { count | ALL } ]
     [ OFFSET start [ ROW | ROWS ] ]
     [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES } ]
-    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]
+    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF from_reference [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]
 
 where from_item can be one of:
 
@@ -1577,7 +1577,7 @@ FETCH { FIRST | NEXT } [ count ] {
     The locking clause has the general form
 
 
-FOR lock_strength [ OF table_name [, ...] ] [ NOWAIT | SKIP LOCKED ]
+FOR lock_strength [ OF from_reference [, ...] ] [ NOWAIT | SKIP LOCKED ]
 
 
     where lock_strength can be one of
@@ -1591,8 +1591,11 @@ KEY SHARE
    
 
    
-    For more information on each row-level lock mode, refer to
-    .
+    from_reference must be a
+    table alias or non-hidden
+    table_name referenced
+    in the FROM clause.  For more information on each
+    row-level lock mode, refer to .