From 8824b38909b28c801456ade7a63ff67e3795ed1d Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 31 Jan 2014 16:37:25 -0500
Subject: [PATCH] docs:  specify FOR UPDATE/SHARE incompatibilities

Document that FOR UPDATE/SHARE are incompatible with GROUP BY, DISTINCT,
HAVING and window functions.

Michael Paquier
---
 doc/src/sgml/ref/select.sgml | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index f9f83f34f70..9a468b98c0a 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -654,6 +654,12 @@ GROUP BY <replaceable class="parameter">expression</replaceable> [, ...]
     the grouped columns (or a subset thereof) are the primary key of
     the table containing the ungrouped column.
    </para>
+
+   <para>
+    Currently, <literal>FOR NO KEY UPDATE</>, <literal>FOR UPDATE</>,
+    <literal>FOR SHARE</> and <literal>FOR KEY SHARE</> cannot be
+    specified with <literal>GROUP BY</literal>.
+   </para>
   </refsect2>
 
   <refsect2 id="SQL-HAVING">
@@ -690,6 +696,12 @@ HAVING <replaceable class="parameter">condition</replaceable>
     within aggregate functions.  Such a query will emit a single row if the
     <literal>HAVING</literal> condition is true, zero rows if it is not true.
    </para>
+
+   <para>
+    Currently, <literal>FOR NO KEY UPDATE</>, <literal>FOR UPDATE</>,
+    <literal>FOR SHARE</> and <literal>FOR KEY SHARE</> cannot be
+    specified with <literal>HAVING</literal>.
+   </para>
   </refsect2>
 
   <refsect2 id="SQL-WINDOW">
@@ -824,6 +836,12 @@ UNBOUNDED FOLLOWING
     than one window function.
    </para>
 
+   <para>
+    Currently, <literal>FOR NO KEY UPDATE</>, <literal>FOR UPDATE</>,
+    <literal>FOR SHARE</> and <literal>FOR KEY SHARE</> cannot be
+    specified with <literal>WINDOW</literal>.
+   </para>
+
    <para>
     Window functions are described in detail in
     <xref linkend="tutorial-window">,
@@ -920,6 +938,12 @@ SELECT DISTINCT ON (location) location, time, report
     will normally contain additional expression(s) that determine the
     desired precedence of rows within each <literal>DISTINCT ON</> group.
    </para>
+
+   <para>
+    Currently, <literal>FOR NO KEY UPDATE</>, <literal>FOR UPDATE</>,
+    <literal>FOR SHARE</> and <literal>FOR KEY SHARE</> cannot be
+    specified with <literal>DISTINCT</literal>.
+   </para>
   </refsect2>
 
   <refsect2 id="SQL-UNION">
-- 
GitLab