Remove LIMIT #,# and suggest LIMIT # OFFSET #, per mailing list discussion.
This commit is contained in:
parent
424d9389d6
commit
f363b3177d
5
HISTORY
5
HISTORY
@ -38,9 +38,8 @@ Migration to 7.2
|
|||||||
|
|
||||||
A dump/restore using pg_dump is required for those wishing to migrate
|
A dump/restore using pg_dump is required for those wishing to migrate
|
||||||
data from any previous release. One significant change is that
|
data from any previous release. One significant change is that
|
||||||
SELECT ... LIMIT 10,20 now uses the 10 as the OFFSET and the 20 as
|
the SELECT ... LIMIT 10,20 syntax is no longer supported. You must
|
||||||
the LIMIT. Previous versions had this reversed. This change was
|
now use LIMIT 10 OFFSET 20 to accomplish the same thing.
|
||||||
made for MySQL compatibility.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.47 2001/09/23 03:39:01 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.48 2001/10/20 02:55:38 momjian Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac
|
|||||||
[ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ]
|
[ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ]
|
||||||
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ]
|
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ]
|
||||||
[ FOR UPDATE [ OF <replaceable class="PARAMETER">tablename</replaceable> [, ...] ] ]
|
[ FOR UPDATE [ OF <replaceable class="PARAMETER">tablename</replaceable> [, ...] ] ]
|
||||||
[ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
[ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
||||||
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
||||||
|
|
||||||
where <replaceable class="PARAMETER">from_item</replaceable> can be:
|
where <replaceable class="PARAMETER">from_item</replaceable> can be:
|
||||||
@ -614,7 +614,7 @@ SELECT name FROM distributors ORDER BY code;
|
|||||||
<synopsis>
|
<synopsis>
|
||||||
<replaceable class="PARAMETER">table_query</replaceable> UNION [ ALL ] <replaceable class="PARAMETER">table_query</replaceable>
|
<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> ] [, ...] ]
|
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ]
|
||||||
[ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
[ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
||||||
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -664,7 +664,7 @@ SELECT name FROM distributors ORDER BY code;
|
|||||||
<synopsis>
|
<synopsis>
|
||||||
<replaceable class="PARAMETER">table_query</replaceable> INTERSECT [ ALL ] <replaceable class="PARAMETER">table_query</replaceable>
|
<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> ] [, ...] ]
|
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ]
|
||||||
[ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
[ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
||||||
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -705,7 +705,7 @@ SELECT name FROM distributors ORDER BY code;
|
|||||||
<synopsis>
|
<synopsis>
|
||||||
<replaceable class="PARAMETER">table_query</replaceable> EXCEPT [ ALL ] <replaceable class="PARAMETER">table_query</replaceable>
|
<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> ] [, ...] ]
|
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</replaceable> ] [, ...] ]
|
||||||
[ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
[ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
||||||
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -742,7 +742,7 @@ SELECT name FROM distributors ORDER BY code;
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL }
|
LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL }
|
||||||
OFFSET <replaceable class="PARAMETER">start</replaceable>
|
OFFSET <replaceable class="PARAMETER">start</replaceable>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.22 2001/09/23 03:39:01 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.23 2001/10/20 02:55:38 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="sql">
|
<chapter id="sql">
|
||||||
@ -864,7 +864,7 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac
|
|||||||
[ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ]
|
[ { UNION | INTERSECT | EXCEPT [ ALL ] } <replaceable class="PARAMETER">select</replaceable> ]
|
||||||
[ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC | USING <replaceable class="PARAMETER">operator</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> [, ...] ] ]
|
[ FOR UPDATE [ OF <replaceable class="PARAMETER">class_name</replaceable> [, ...] ] ]
|
||||||
[ LIMIT [ <replaceable class="PARAMETER">start</replaceable> , ] { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
[ LIMIT { <replaceable class="PARAMETER">count</replaceable> | ALL } ]
|
||||||
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
[ OFFSET <replaceable class="PARAMETER">start</replaceable> ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</para>
|
</para>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.265 2001/10/20 01:02:14 thomas Exp $
|
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.266 2001/10/20 02:55:39 momjian Exp $
|
||||||
*
|
*
|
||||||
* HISTORY
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -3648,7 +3648,7 @@ OptUseOp: USING all_Op { $$ = $2; }
|
|||||||
|
|
||||||
|
|
||||||
select_limit: LIMIT select_offset_value ',' select_limit_value
|
select_limit: LIMIT select_offset_value ',' select_limit_value
|
||||||
{ $$ = makeList2($2, $4); }
|
{ elog(ERROR,"LIMIT #,# syntax no longer supported. Use LIMIT # OFFSET #."); }
|
||||||
| LIMIT select_limit_value OFFSET select_offset_value
|
| LIMIT select_limit_value OFFSET select_offset_value
|
||||||
{ $$ = makeList2($4, $2); }
|
{ $$ = makeList2($4, $2); }
|
||||||
| LIMIT select_limit_value
|
| LIMIT select_limit_value
|
||||||
|
@ -98,7 +98,7 @@ SELECT ''::text AS five, unique1, unique2, stringu1
|
|||||||
|
|
||||||
SELECT ''::text AS five, unique1, unique2, stringu1
|
SELECT ''::text AS five, unique1, unique2, stringu1
|
||||||
FROM onek
|
FROM onek
|
||||||
ORDER BY unique1 LIMIT 900, 5;
|
ORDER BY unique1 LIMIT 5 OFFSET 900;
|
||||||
five | unique1 | unique2 | stringu1
|
five | unique1 | unique2 | stringu1
|
||||||
------+---------+---------+----------
|
------+---------+---------+----------
|
||||||
| 900 | 913 | QIAAAA
|
| 900 | 913 | QIAAAA
|
||||||
|
@ -29,4 +29,4 @@ SELECT ''::text AS five, unique1, unique2, stringu1
|
|||||||
ORDER BY unique1 OFFSET 990 LIMIT 5;
|
ORDER BY unique1 OFFSET 990 LIMIT 5;
|
||||||
SELECT ''::text AS five, unique1, unique2, stringu1
|
SELECT ''::text AS five, unique1, unique2, stringu1
|
||||||
FROM onek
|
FROM onek
|
||||||
ORDER BY unique1 LIMIT 900, 5;
|
ORDER BY unique1 LIMIT 5 OFFSET 900;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user