Change MOVE LAST to MOVE ALL.
Standard says FETCH LAST is after last row, and we don't do that.
This commit is contained in:
parent
c7bceca156
commit
802a4d4111
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/fetch.sgml,v 1.23 2003/01/08 00:22:26 tgl Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/fetch.sgml,v 1.24 2003/02/03 14:04:24 momjian Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ PostgreSQL documentation
|
|||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
FETCH [ <replaceable class="PARAMETER">direction</replaceable> ] [ <replaceable class="PARAMETER">count</replaceable> ] { IN | FROM } <replaceable class="PARAMETER">cursor</replaceable>
|
FETCH [ <replaceable class="PARAMETER">direction</replaceable> ] [ <replaceable class="PARAMETER">count</replaceable> ] { IN | FROM } <replaceable class="PARAMETER">cursor</replaceable>
|
||||||
FETCH [ FORWARD | BACKWARD | RELATIVE ] [ <replaceable class="PARAMETER">#</replaceable> | ALL | LAST | NEXT | PRIOR ]
|
FETCH [ FORWARD | BACKWARD | RELATIVE ] [ <replaceable class="PARAMETER">#</replaceable> | ALL | NEXT | PRIOR ]
|
||||||
{ IN | FROM } <replaceable class="PARAMETER">cursor</replaceable>
|
{ IN | FROM } <replaceable class="PARAMETER">cursor</replaceable>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -105,17 +105,6 @@ FETCH [ FORWARD | BACKWARD | RELATIVE ] [ <replaceable class="PARAMETER">#</repl
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
LAST
|
|
||||||
</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Same as <literal>ALL</>, but conforms to SQL92 syntax.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
NEXT
|
NEXT
|
||||||
@ -212,7 +201,7 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
|
|||||||
If the number of rows remaining in the cursor is less
|
If the number of rows remaining in the cursor is less
|
||||||
than <replaceable class="PARAMETER">#</replaceable>,
|
than <replaceable class="PARAMETER">#</replaceable>,
|
||||||
then only those available are fetched.
|
then only those available are fetched.
|
||||||
Substituting the keyword ALL or LAST in place of a number will
|
Substituting the keyword ALL in place of a number will
|
||||||
cause all remaining rows in the cursor to be retrieved.
|
cause all remaining rows in the cursor to be retrieved.
|
||||||
Rows may be fetched in both FORWARD and BACKWARD
|
Rows may be fetched in both FORWARD and BACKWARD
|
||||||
directions. The default direction is FORWARD.
|
directions. The default direction is FORWARD.
|
||||||
@ -220,13 +209,13 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The cursor position can be before the first row of the query result, or on
|
The cursor position can be before the first row of the query result, or on
|
||||||
any particular row of the result, or after the last row of the result.
|
any particular row of the result.
|
||||||
When created, a cursor is positioned before the first row. After fetching
|
When created, a cursor is positioned before the first row. After fetching
|
||||||
some rows, the cursor is positioned on the last row retrieved. A new
|
some rows, the cursor is positioned on the last row retrieved. A new
|
||||||
<command>FETCH</command> always steps one row in the specified direction
|
<command>FETCH</command> always steps one row in the specified direction
|
||||||
(if possible) before beginning to return rows. If the
|
(if possible) before beginning to return rows. If the
|
||||||
<command>FETCH</command> requests more rows than available, the cursor is
|
<command>FETCH</command> requests more rows than available, the cursor is
|
||||||
left positioned after the last row of the query result (or before the first
|
left positioned on the last row of the query result (or on the first
|
||||||
row, in the case of a backward fetch). This will always be the case after
|
row, in the case of a backward fetch). This will always be the case after
|
||||||
<command>FETCH ALL</>.
|
<command>FETCH ALL</>.
|
||||||
</para>
|
</para>
|
||||||
@ -236,7 +225,7 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
|
|||||||
A zero row count requests fetching the current row without moving the
|
A zero row count requests fetching the current row without moving the
|
||||||
cursor --- that is, re-fetching the most recently fetched row.
|
cursor --- that is, re-fetching the most recently fetched row.
|
||||||
This will succeed unless the cursor is positioned before the
|
This will succeed unless the cursor is positioned before the
|
||||||
first row or after the last row; in which case, no row is returned.
|
first row; in which case, no row is returned.
|
||||||
</para>
|
</para>
|
||||||
</tip>
|
</tip>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/move.sgml,v 1.16 2003/01/08 00:22:26 tgl Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/move.sgml,v 1.17 2003/02/03 14:04:24 momjian Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -34,7 +34,8 @@ MOVE [ <replaceable class="PARAMETER">direction</replaceable> ] [ <replaceable c
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<command>MOVE</command> allows the user to move the cursor position a
|
<command>MOVE</command> allows the user to move the cursor position a
|
||||||
specified number of rows, or all the way to the end or start of the query.
|
specified number of rows, or to the beginning or end of the cursor.
|
||||||
|
<command>MOVE ALL</command> moves to the last row of the cursor.
|
||||||
<command>MOVE</command> works exactly like the <command>FETCH</command>
|
<command>MOVE</command> works exactly like the <command>FETCH</command>
|
||||||
command, except it only repositions the cursor and does not return rows.
|
command, except it only repositions the cursor and does not return rows.
|
||||||
</para>
|
</para>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.397 2003/02/02 23:46:38 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.398 2003/02/03 14:04:24 momjian Exp $
|
||||||
*
|
*
|
||||||
* HISTORY
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -361,7 +361,7 @@ static void doNegateFloat(Value *v);
|
|||||||
|
|
||||||
KEY
|
KEY
|
||||||
|
|
||||||
LANCOMPILER LANGUAGE LAST LEADING LEFT LEVEL LIKE LIMIT
|
LANCOMPILER LANGUAGE LEADING LEFT LEVEL LIKE LIMIT
|
||||||
LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION
|
LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION
|
||||||
LOCK_P
|
LOCK_P
|
||||||
|
|
||||||
@ -2713,7 +2713,6 @@ fetch_how_many:
|
|||||||
Iconst { $$ = $1; }
|
Iconst { $$ = $1; }
|
||||||
| '-' Iconst { $$ = - $2; }
|
| '-' Iconst { $$ = - $2; }
|
||||||
| ALL { $$ = INT_MAX; }
|
| ALL { $$ = INT_MAX; }
|
||||||
| LAST { $$ = INT_MAX; }
|
|
||||||
| NEXT { $$ = 1; }
|
| NEXT { $$ = 1; }
|
||||||
| PRIOR { $$ = -1; }
|
| PRIOR { $$ = -1; }
|
||||||
;
|
;
|
||||||
@ -7131,7 +7130,6 @@ unreserved_keyword:
|
|||||||
| KEY
|
| KEY
|
||||||
| LANCOMPILER
|
| LANCOMPILER
|
||||||
| LANGUAGE
|
| LANGUAGE
|
||||||
| LAST
|
|
||||||
| LEVEL
|
| LEVEL
|
||||||
| LISTEN
|
| LISTEN
|
||||||
| LOAD
|
| LOAD
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.132 2002/12/12 20:35:13 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.133 2003/02/03 14:04:24 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -172,7 +172,6 @@ static const ScanKeyword ScanKeywords[] = {
|
|||||||
{"key", KEY},
|
{"key", KEY},
|
||||||
{"lancompiler", LANCOMPILER},
|
{"lancompiler", LANCOMPILER},
|
||||||
{"language", LANGUAGE},
|
{"language", LANGUAGE},
|
||||||
{"last", LAST},
|
|
||||||
{"leading", LEADING},
|
{"leading", LEADING},
|
||||||
{"left", LEFT},
|
{"left", LEFT},
|
||||||
{"level", LEVEL},
|
{"level", LEVEL},
|
||||||
|
Loading…
Reference in New Issue
Block a user