From 5593280e203d0f7d93dea1f1387e0a7948a2d3af Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 12 Jul 2018 12:28:43 -0400
Subject: [PATCH] Doc: minor improvement in pl/pgsql FETCH/MOVE documentation.

Explain that you can use any integer expression for the "count" in
pl/pgsql's versions of FETCH/MOVE, unlike the SQL versions which only
allow a constant.

Remove the duplicate version of this para under MOVE.  I don't see
a good reason to maintain two identical paras when we just said that
MOVE works exactly like FETCH.

Per Pavel Stehule, though I didn't use his text.

Discussion: https://postgr.es/m/CAFj8pRAcvSXcNdUGx43bOK1e3NNPbQny7neoTLN42af+8MYWEA@mail.gmail.com
---
 doc/src/sgml/plpgsql.sgml   | 24 ++++--------------------
 doc/src/sgml/ref/fetch.sgml |  2 +-
 2 files changed, 5 insertions(+), 21 deletions(-)

diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index c878373b5e2..1bd160cd359 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -3173,6 +3173,10 @@ FETCH <optional> <replaceable>direction</replaceable> { FROM | IN } </optional>
      <literal>BACKWARD</>.
      Omitting <replaceable>direction</replaceable> is the same
      as specifying <literal>NEXT</>.
+     In the forms using a <replaceable>count</replaceable>,
+     the <replaceable>count</replaceable> can be any integer-valued
+     expression (unlike the SQL <command>FETCH</command> command,
+     which only allows an integer constant).
      <replaceable>direction</replaceable> values that require moving
      backward are likely to fail unless the cursor was declared or opened
      with the <literal>SCROLL</> option.
@@ -3210,26 +3214,6 @@ MOVE <optional> <replaceable>direction</replaceable> { FROM | IN } </optional> <
      be checked to see whether there was a next row to move to.
     </para>
 
-    <para>
-     The <replaceable>direction</replaceable> clause can be any of the
-     variants allowed in the SQL <xref linkend="sql-fetch">
-     command, namely
-     <literal>NEXT</>,
-     <literal>PRIOR</>,
-     <literal>FIRST</>,
-     <literal>LAST</>,
-     <literal>ABSOLUTE</> <replaceable>count</replaceable>,
-     <literal>RELATIVE</> <replaceable>count</replaceable>,
-     <literal>ALL</>,
-     <literal>FORWARD</> <optional> <replaceable>count</replaceable> | <literal>ALL</> </optional>, or
-     <literal>BACKWARD</> <optional> <replaceable>count</replaceable> | <literal>ALL</> </optional>.
-     Omitting <replaceable>direction</replaceable> is the same
-     as specifying <literal>NEXT</>.
-     <replaceable>direction</replaceable> values that require moving
-     backward are likely to fail unless the cursor was declared or opened
-     with the <literal>SCROLL</> option.
-    </para>
-
     <para>
      Examples:
 <programlisting>
diff --git a/doc/src/sgml/ref/fetch.sgml b/doc/src/sgml/ref/fetch.sgml
index 24c8c491569..d8784e537f0 100644
--- a/doc/src/sgml/ref/fetch.sgml
+++ b/doc/src/sgml/ref/fetch.sgml
@@ -99,7 +99,7 @@ FETCH [ <replaceable class="PARAMETER">direction</replaceable> [ FROM | IN ] ] <
     This page describes usage of cursors at the SQL command level.
     If you are trying to use cursors inside a <application>PL/pgSQL</>
     function, the rules are different &mdash;
-    see <xref linkend="plpgsql-cursors">.
+    see <xref linkend="plpgsql-cursor-using">.
    </para>
   </note>
  </refsect1>
-- 
GitLab