From c242502005bb0e89e55a2f1f68cc37b5480b50ad Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 2 Feb 2009 20:42:57 +0000 Subject: [PATCH] Document the longstanding behavior of LIMIT NULL and OFFSET NULL, per gripe from David Wheeler that this was mentioned nowhere. In passing, editorialize a bit on the description of the SQL:2008 equivalent syntax. --- doc/src/sgml/ref/select.sgml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index a33a537bd48..ff5d6812604 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -1,5 +1,5 @@ @@ -1002,6 +1002,13 @@ OFFSET start class="parameter">count rows to be returned. + + If the count expression + evaluates to NULL, it is treated as LIMIT ALL, i.e., no + limit. If start evaluates + to NULL, it is treated the same as OFFSET 0. + + SQL:2008 introduced a different syntax to achieve the same thing, which PostgreSQL also supports. It is: @@ -1014,10 +1021,11 @@ FETCH { FIRST | NEXT } [ count ] { the FETCH clause. ROW and ROWS as well as FIRST and NEXT are noise words that don't influence - the effects of these clauses. When using expressions other than - constants for the offset or fetch count, parentheses will be - necessary in most cases. If the fetch count is omitted, it - defaults to 1. + 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.