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.
This commit is contained in:
Tom Lane 2009-02-02 20:42:57 +00:00
parent c401a5ce58
commit c242502005
1 changed files with 13 additions and 5 deletions

View File

@ -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 PostgreSQL documentation
--> -->
@ -1002,6 +1002,13 @@ OFFSET <replaceable class="parameter">start</replaceable>
class="parameter">count</replaceable> rows to be returned. class="parameter">count</replaceable> rows to be returned.
</para> </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> <para>
SQL:2008 introduced a different syntax to achieve the same thing, SQL:2008 introduced a different syntax to achieve the same thing,
which PostgreSQL also supports. It is: 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> the <literal>FETCH</literal> clause. <literal>ROW</literal>
and <literal>ROWS</literal> as well as <literal>FIRST</literal> and <literal>ROWS</literal> as well as <literal>FIRST</literal>
and <literal>NEXT</literal> are noise words that don't influence and <literal>NEXT</literal> are noise words that don't influence
the effects of these clauses. When using expressions other than the effects of these clauses. In this syntax, when using expressions
constants for the offset or fetch count, parentheses will be other than simple constants for <replaceable class="parameter">start</>
necessary in most cases. If the fetch count is omitted, it or <replaceable class="parameter">count</replaceable>, parentheses will be
defaults to 1. necessary in most cases. If <replaceable class="parameter">count</> is
omitted in <literal>FETCH</>, it defaults to 1.
</para> </para>
<para> <para>