From c242502005bb0e89e55a2f1f68cc37b5480b50ad Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> 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 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.119 2009/01/23 14:05:28 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.120 2009/02/02 20:42:57 tgl Exp $ PostgreSQL documentation --> @@ -1002,6 +1002,13 @@ OFFSET <replaceable class="parameter">start</replaceable> class="parameter">count</replaceable> rows to be returned. </para> + <para> + If the <replaceable class="parameter">count</replaceable> expression + evaluates to NULL, it is treated as <literal>LIMIT ALL</>, i.e., no + limit. If <replaceable class="parameter">start</replaceable> evaluates + to NULL, it is treated the same as <literal>OFFSET 0</>. + </para> + <para> SQL:2008 introduced a different syntax to achieve the same thing, which PostgreSQL also supports. It is: @@ -1014,10 +1021,11 @@ FETCH { FIRST | NEXT } [ <replaceable class="parameter">count</replaceable> ] { the <literal>FETCH</literal> clause. <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. 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 <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. </para> <para> -- GitLab