From 92b9e439e7f0bc54e291e12f5216fb09a72f5b04 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 1 Dec 2011 16:39:02 -0500 Subject: [PATCH] Clarify documentation about SQL:2008 variant of LIMIT/OFFSET syntax. 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 | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index f890ab2c83..9f53f77804 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -1063,7 +1063,8 @@ SELECT name FROM distributors ORDER BY code; LIMIT { count | ALL } OFFSET start -count specifies the + + count specifies the maximum number of rows to return, while start specifies the number of rows to skip before starting to return rows. When both are specified, @@ -1086,17 +1087,19 @@ OFFSET start OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY - According to the standard, the OFFSET clause must come - before the FETCH clause if both are present; but - PostgreSQL is laxer and allows either order. + In this syntax, to write anything except a simple integer constant for + start or count, you must write parentheses + around it. + If count is + omitted in a FETCH clause, it defaults to 1. ROW and ROWS as well as FIRST and NEXT are noise words that don't influence - the effects of these clauses. In this syntax, when using expressions - other than simple constants for start - or count, parentheses will be - necessary in most cases. If count is - omitted in FETCH, it defaults to 1. + the effects of these clauses. + According to the standard, the OFFSET clause must come + before the FETCH clause if both are present; but + PostgreSQL is laxer and allows either order. -- 2.40.0