From e7cad7b0cbf88e2c0c5bf89957e60657561ffd70 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 23 Sep 1999 17:03:39 +0000 Subject: Add TRUNCATE command, with psql help and sgml additions. --- src/backend/parser/gram.y | 23 +++++++++++++++++++---- src/backend/parser/keywords.c | 3 ++- 2 files changed, 21 insertions(+), 5 deletions(-) (limited to 'src/backend/parser') diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 20c33bc20c..32c46e05d1 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.98 1999/09/14 06:06:31 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.99 1999/09/23 17:02:46 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -122,6 +122,7 @@ Oid param_type(int t); /* used in parse_expr.c */ %type stmt, AddAttrStmt, ClosePortalStmt, CopyStmt, CreateStmt, CreateAsStmt, CreateSeqStmt, DefineStmt, DestroyStmt, + TruncateStmt, ExtendStmt, FetchStmt, GrantStmt, CreateTrigStmt, DropTrigStmt, CreatePLangStmt, DropPLangStmt, IndexStmt, ListenStmt, UnlistenStmt, LockStmt, OptimizableStmt, @@ -318,7 +319,7 @@ Oid param_type(int t); /* used in parse_expr.c */ OFFSET, OIDS, OPERATOR, PASSWORD, PROCEDURAL, RENAME, RESET, RETURNS, ROW, RULE, SEQUENCE, SERIAL, SETOF, SHARE, SHOW, START, STATEMENT, STDIN, STDOUT, - TRUSTED, + TRUNCATE, TRUSTED, UNLISTEN, UNTIL, VACUUM, VALID, VERBOSE, VERSION /* Special keywords, not in the query language - see the "lex" file */ @@ -383,7 +384,8 @@ stmt : AddAttrStmt | CreateUserStmt | ClusterStmt | DefineStmt - | DestroyStmt + | DestroyStmt + | TruncateStmt | DropPLangStmt | DropTrigStmt | DropUserStmt @@ -1607,6 +1609,20 @@ DestroyStmt: DROP TABLE relation_name_list } ; +/***************************************************************************** + * + * QUERY: + * truncate table relname + * + *****************************************************************************/ + +TruncateStmt: TRUNCATE TABLE relation_name + { + TruncateStmt *n = makeNode(TruncateStmt); + n->relName = $3; + $$ = (Node *)n; + } + ; /***************************************************************************** * @@ -2371,7 +2387,6 @@ ClusterStmt: CLUSTER index_name ON relation_name } ; - /***************************************************************************** * * QUERY: diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index bd5b43ad1f..17a521337e 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.60 1999/07/17 20:17:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.61 1999/09/23 17:02:46 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -225,6 +225,7 @@ static ScanKeyword ScanKeywords[] = { {"trigger", TRIGGER}, {"trim", TRIM}, {"true", TRUE_P}, + {"truncate", TRUNCATE}, {"trusted", TRUSTED}, {"type", TYPE_P}, {"union", UNION}, -- cgit v1.2.1