提交 802a4d41 编写于 作者: B Bruce Momjian

Change MOVE LAST to MOVE ALL.

Standard says FETCH LAST is after last row, and we don't do that.
上级 c7bceca1
<!--
$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
-->
......@@ -22,7 +22,7 @@ PostgreSQL documentation
</refsynopsisdivinfo>
<synopsis>
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>
</synopsis>
......@@ -105,17 +105,6 @@ FETCH [ FORWARD | BACKWARD | RELATIVE ] [ <replaceable class="PARAMETER">#</repl
</listitem>
</varlistentry>
<varlistentry>
<term>
LAST
</term>
<listitem>
<para>
Same as <literal>ALL</>, but conforms to SQL92 syntax.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
NEXT
......@@ -212,7 +201,7 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
If the number of rows remaining in the cursor is less
than <replaceable class="PARAMETER">#</replaceable>,
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.
Rows may be fetched in both FORWARD and BACKWARD
directions. The default direction is FORWARD.
......@@ -220,13 +209,13 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
<para>
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
some rows, the cursor is positioned on the last row retrieved. A new
<command>FETCH</command> always steps one row in the specified direction
(if possible) before beginning to return rows. If the
<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
<command>FETCH ALL</>.
</para>
......@@ -236,7 +225,7 @@ WARNING: FETCH/ABSOLUTE not supported, using RELATIVE
A zero row count requests fetching the current row without moving the
cursor --- that is, re-fetching the most recently fetched row.
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>
</tip>
......
<!--
$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
-->
......@@ -34,7 +34,8 @@ MOVE [ <replaceable class="PARAMETER">direction</replaceable> ] [ <replaceable c
</title>
<para>
<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, except it only repositions the cursor and does not return rows.
</para>
......
......@@ -11,7 +11,7 @@
*
*
* 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
* AUTHOR DATE MAJOR EVENT
......@@ -361,7 +361,7 @@ static void doNegateFloat(Value *v);
KEY
LANCOMPILER LANGUAGE LAST LEADING LEFT LEVEL LIKE LIMIT
LANCOMPILER LANGUAGE LEADING LEFT LEVEL LIKE LIMIT
LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION
LOCK_P
......@@ -2713,7 +2713,6 @@ fetch_how_many:
Iconst { $$ = $1; }
| '-' Iconst { $$ = - $2; }
| ALL { $$ = INT_MAX; }
| LAST { $$ = INT_MAX; }
| NEXT { $$ = 1; }
| PRIOR { $$ = -1; }
;
......@@ -7131,7 +7130,6 @@ unreserved_keyword:
| KEY
| LANCOMPILER
| LANGUAGE
| LAST
| LEVEL
| LISTEN
| LOAD
......
......@@ -8,7 +8,7 @@
*
*
* 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},
{"lancompiler", LANCOMPILER},
{"language", LANGUAGE},
{"last", LAST},
{"leading", LEADING},
{"left", LEFT},
{"level", LEVEL},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册