Commit c2425020 authored by Tom Lane's avatar Tom Lane

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.
parent c401a5ce
<!-- <!--
$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> ...@@ -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> ] { ...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment