]> granicus.if.org Git - postgresql/commitdiff
Clarify documentation about SQL:2008 variant of LIMIT/OFFSET syntax.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 21:39:02 +0000 (16:39 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 21:39:02 +0000 (16:39 -0500)
The point that you need parentheses for non-constant expressions apparently
needs to be brought out a bit more clearly, per bug #6315.

doc/src/sgml/ref/select.sgml

index f890ab2c83517e690048fa4237a6a6eb56dad20b..9f53f778045e2b5fd853eebde4c433802095815f 100644 (file)
@@ -1063,7 +1063,8 @@ SELECT name FROM distributors ORDER BY code;
 <synopsis>
 LIMIT { <replaceable class="parameter">count</replaceable> | ALL }
 OFFSET <replaceable class="parameter">start</replaceable>
-</synopsis><replaceable class="parameter">count</replaceable> specifies the
+</synopsis>
+    <replaceable class="parameter">count</replaceable> specifies the
     maximum number of rows to return, while <replaceable
     class="parameter">start</replaceable> specifies the number of rows
     to skip before starting to return rows.  When both are specified,
@@ -1086,17 +1087,19 @@ OFFSET <replaceable class="parameter">start</replaceable>
 OFFSET <replaceable class="parameter">start</replaceable> { ROW | ROWS }
 FETCH { FIRST | NEXT } [ <replaceable class="parameter">count</replaceable> ] { ROW | ROWS } ONLY
 </synopsis>
-    According to the standard, the <literal>OFFSET</literal> clause must come
-    before the <literal>FETCH</literal> clause if both are present; but
-    <productname>PostgreSQL</> is laxer and allows either order.
+    In this syntax, to write anything except a simple integer constant for
+    <replaceable class="parameter">start</> or <replaceable
+    class="parameter">count</replaceable>, you must write parentheses
+    around it.
+    If <replaceable class="parameter">count</> is
+    omitted in a <literal>FETCH</> clause, it defaults to 1.
     <literal>ROW</literal>
     and <literal>ROWS</literal> as well as <literal>FIRST</literal>
     and <literal>NEXT</literal> are noise words that don't influence
-    the effects of these clauses.  In this syntax, when using expressions
-    other than simple constants for <replaceable class="parameter">start</>
-    or <replaceable class="parameter">count</replaceable>, parentheses will be
-    necessary in most cases.  If <replaceable class="parameter">count</> is
-    omitted in <literal>FETCH</>, it defaults to 1.
+    the effects of these clauses.
+    According to the standard, the <literal>OFFSET</literal> clause must come
+    before the <literal>FETCH</literal> clause if both are present; but
+    <productname>PostgreSQL</> is laxer and allows either order.
    </para>
 
    <para>