mirror of
https://github.com/postgres/postgres.git
synced 2025-09-06 13:46:51 +03:00
Todo items:
Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values Also updated create sequence docs to mention NO MINVALUE, & NO MAXVALUE. New Files: doc/src/sgml/ref/alter_sequence.sgml src/test/regress/expected/sequence.out src/test/regress/sql/sequence.sql ALTER SEQUENCE is NOT transactional. It behaves similarly to setval(). It matches the proposed SQL200N spec, as well as Oracle in most ways -- Oracle lacks RESTART WITH for some strange reason. -- Rod Taylor <rbt@rbt.ca>
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.406 2003/03/11 19:40:23 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.407 2003/03/20 07:02:08 momjian Exp $
|
||||
*
|
||||
* HISTORY
|
||||
* AUTHOR DATE MAJOR EVENT
|
||||
@@ -129,7 +129,7 @@ static void doNegateFloat(Value *v);
|
||||
|
||||
%type <node> stmt schema_stmt
|
||||
AlterDatabaseSetStmt AlterDomainStmt AlterGroupStmt
|
||||
AlterTableStmt AlterUserStmt AlterUserSetStmt
|
||||
AlterSeqStmt AlterTableStmt AlterUserStmt AlterUserSetStmt
|
||||
AnalyzeStmt ClosePortalStmt ClusterStmt CommentStmt
|
||||
ConstraintsSetStmt CopyStmt CreateAsStmt CreateCastStmt
|
||||
CreateDomainStmt CreateGroupStmt CreateOpClassStmt CreatePLangStmt
|
||||
@@ -377,7 +377,7 @@ static void doNegateFloat(Value *v);
|
||||
PROCEDURE
|
||||
|
||||
READ REAL RECHECK REFERENCES REINDEX RELATIVE RENAME REPLACE
|
||||
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW ROWS
|
||||
RESET RESTART RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW ROWS
|
||||
RULE
|
||||
|
||||
SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE
|
||||
@@ -478,6 +478,7 @@ stmt :
|
||||
AlterDatabaseSetStmt
|
||||
| AlterDomainStmt
|
||||
| AlterGroupStmt
|
||||
| AlterSeqStmt
|
||||
| AlterTableStmt
|
||||
| AlterUserSetStmt
|
||||
| AlterUserStmt
|
||||
@@ -1864,6 +1865,7 @@ CreateAsElement:
|
||||
*
|
||||
* QUERY :
|
||||
* CREATE SEQUENCE seqname
|
||||
* ALTER SEQUENCE seqname
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@@ -1878,6 +1880,16 @@ CreateSeqStmt:
|
||||
}
|
||||
;
|
||||
|
||||
AlterSeqStmt:
|
||||
ALTER SEQUENCE qualified_name OptSeqList
|
||||
{
|
||||
AlterSeqStmt *n = makeNode(AlterSeqStmt);
|
||||
n->sequence = $3;
|
||||
n->options = $4;
|
||||
$$ = (Node *)n;
|
||||
}
|
||||
;
|
||||
|
||||
OptSeqList: OptSeqList OptSeqElem { $$ = lappend($1, $2); }
|
||||
| /*EMPTY*/ { $$ = NIL; }
|
||||
;
|
||||
@@ -1918,6 +1930,10 @@ OptSeqElem: CACHE NumericOnly
|
||||
{
|
||||
$$ = makeDefElem("start", (Node *)$3);
|
||||
}
|
||||
| RESTART opt_with NumericOnly
|
||||
{
|
||||
$$ = makeDefElem("restart", (Node *)$3);
|
||||
}
|
||||
;
|
||||
|
||||
opt_by: BY {}
|
||||
@@ -7163,6 +7179,7 @@ unreserved_keyword:
|
||||
| RENAME
|
||||
| REPLACE
|
||||
| RESET
|
||||
| RESTART
|
||||
| RESTRICT
|
||||
| RETURNS
|
||||
| REVOKE
|
||||
|
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.135 2003/03/11 19:40:23 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.136 2003/03/20 07:02:10 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -248,6 +248,7 @@ static const ScanKeyword ScanKeywords[] = {
|
||||
{"rename", RENAME},
|
||||
{"replace", REPLACE},
|
||||
{"reset", RESET},
|
||||
{"restart", RESTART},
|
||||
{"restrict", RESTRICT},
|
||||
{"returns", RETURNS},
|
||||
{"revoke", REVOKE},
|
||||
|
Reference in New Issue
Block a user