diff options
author | Bruce Momjian <bruce@momjian.us> | 2001-09-23 03:39:01 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2001-09-23 03:39:01 +0000 |
commit | 1aab783b59d56af304cd652d2036ba45769122ec (patch) | |
tree | f098f68456fba4293ca156f165b993ba58a17700 /doc/src | |
parent | ddfdb1e3f1c27157a37b2db0e69cbb0684c4970b (diff) | |
download | postgresql-1aab783b59d56af304cd652d2036ba45769122ec.tar.gz postgresql-1aab783b59d56af304cd652d2036ba45769122ec.zip |
Implement TODO item:
* Change LIMIT val,val to offset,limit to match MySQL
Documentation updates too.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/ref/select.sgml | 20 | ||||
-rw-r--r-- | doc/src/sgml/sql.sgml | 5 |
2 files changed, 15 insertions, 10 deletions
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index 2e1e552f264..e8dc02498ca 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.46 2001/09/14 10:28:09 ishii Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.47 2001/09/23 03:39:01 momjian Exp $ Postgres documentation --> @@ -29,7 +29,8 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac [ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ] [ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ] [ FOR UPDATE [ OF <replaceable class="PARAMETER">tablename</replaceable> [, ...] ] ] - [ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ]] + [ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ] + [ OFFSET <replaceable class="PARAMETER">start</replaceable> ] where <replaceable class="PARAMETER">from_item</replaceable> can be: @@ -613,7 +614,8 @@ SELECT name FROM distributors ORDER BY code; <synopsis> <replaceable class="PARAMETER">table_query</replaceable> UNION [ ALL ] <replaceable class="PARAMETER">table_query</replaceable> [ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ] - [ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ]] + [ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ] + [ OFFSET <replaceable class="PARAMETER">start</replaceable> ] </synopsis> where @@ -662,7 +664,8 @@ SELECT name FROM distributors ORDER BY code; <synopsis> <replaceable class="PARAMETER">table_query</replaceable> INTERSECT [ ALL ] <replaceable class="PARAMETER">table_query</replaceable> [ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ] - [ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ]] + [ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ] + [ OFFSET <replaceable class="PARAMETER">start</replaceable> ] </synopsis> where @@ -702,7 +705,8 @@ SELECT name FROM distributors ORDER BY code; <synopsis> <replaceable class="PARAMETER">table_query</replaceable> EXCEPT [ ALL ] <replaceable class="PARAMETER">table_query</replaceable> [ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ] - [ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ]] + [ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ] + [ OFFSET <replaceable class="PARAMETER">start</replaceable> ] </synopsis> where @@ -738,7 +742,7 @@ SELECT name FROM distributors ORDER BY code; </title> <para> <synopsis> - LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ] + LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } OFFSET <replaceable class="PARAMETER">start</replaceable> </synopsis> @@ -761,14 +765,14 @@ SELECT name FROM distributors ORDER BY code; constrains the result rows into a unique order. Otherwise you will get an unpredictable subset of the query's rows---you may be asking for the tenth through twentieth rows, but tenth through twentieth in what - ordering? You don't know what ordering, unless you specified ORDER BY. + ordering? You don't know what ordering unless you specify ORDER BY. </para> <para> As of <productname>Postgres</productname> 7.0, the query optimizer takes LIMIT into account when generating a query plan, so you are very likely to get different plans (yielding different row - orders) depending on what you give for LIMIT and OFFSET. Thus, using + orders) depending on what you use for LIMIT and OFFSET. Thus, using different LIMIT/OFFSET values to select different subsets of a query result <emphasis>will give inconsistent results</emphasis> unless you enforce a predictable result ordering with ORDER BY. This is not diff --git a/doc/src/sgml/sql.sgml b/doc/src/sgml/sql.sgml index d0eef867abf..223aee1bc69 100644 --- a/doc/src/sgml/sql.sgml +++ b/doc/src/sgml/sql.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.21 2001/05/22 16:00:00 petere Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.22 2001/09/23 03:39:01 momjian Exp $ --> <chapter id="sql"> @@ -864,7 +864,8 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac [ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ] [ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ] [ FOR UPDATE [ OF <replaceable class="PARAMETER">class_name</replaceable> [, ...] ] ] - [ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } [ { OFFSET | , } <replaceable class="PARAMETER">start</replaceable> ]] + [ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ] + [ OFFSET <replaceable class="PARAMETER">start</replaceable> ] </synopsis> </para> |