diff options
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/gram.y | 35 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 3 |
2 files changed, 34 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index a88b66c9707..16a4efa2baa 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.108 1999/10/07 04:23:12 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.109 1999/10/15 01:49:41 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -118,7 +118,7 @@ Oid param_type(int t); /* used in parse_expr.c */ %type <node> stmt, AddAttrStmt, ClosePortalStmt, CopyStmt, CreateStmt, CreateAsStmt, CreateSeqStmt, DefineStmt, DestroyStmt, - TruncateStmt, + TruncateStmt, CommentStmt, ExtendStmt, FetchStmt, GrantStmt, CreateTrigStmt, DropTrigStmt, CreatePLangStmt, DropPLangStmt, IndexStmt, ListenStmt, UnlistenStmt, LockStmt, OptimizableStmt, @@ -314,7 +314,7 @@ Oid param_type(int t); /* used in parse_expr.c */ */ %token ABORT_TRANS, ACCESS, AFTER, AGGREGATE, ANALYZE, BACKWARD, BEFORE, BINARY, - CACHE, CLUSTER, COPY, CREATEDB, CREATEUSER, CYCLE, + CACHE, CLUSTER, COMMENT, COPY, CREATEDB, CREATEUSER, CYCLE, DATABASE, DELIMITERS, DO, EACH, ENCODING, EXCLUSIVE, EXPLAIN, EXTEND, FORWARD, FUNCTION, HANDLER, @@ -402,6 +402,7 @@ stmt : AddAttrStmt | DefineStmt | DestroyStmt | TruncateStmt + | CommentStmt | DropPLangStmt | DropTrigStmt | DropUserStmt @@ -1541,6 +1542,32 @@ TruncateStmt: TRUNCATE TABLE relation_name /***************************************************************************** * + * QUERY: + * comment on [ table <relname> | column <relname>.<attribute> ] + * is 'text' + * + *****************************************************************************/ + +CommentStmt: COMMENT ON COLUMN relation_name '.' attr_name IS Sconst + { + CommentStmt *n = makeNode(CommentStmt); + n->relname = $4; + n->attrname = $6; + n->comment = $8; + $$ = (Node *) n; + } + | COMMENT ON TABLE relation_name IS Sconst + { + CommentStmt *n = makeNode(CommentStmt); + n->relname = $4; + n->attrname = NULL; + n->comment = $6; + $$ = (Node *) n; + } + ; + +/***************************************************************************** + * * QUERY: * fetch/move [forward | backward] [ # | all ] [ in <portalname> ] * fetch [ forward | backward | absolute | relative ] @@ -5011,6 +5038,7 @@ ColId: IDENT { $$ = $1; } | BACKWARD { $$ = "backward"; } | BEFORE { $$ = "before"; } | CACHE { $$ = "cache"; } + | COMMENT { $$ = "comment"; } | COMMITTED { $$ = "committed"; } | CONSTRAINTS { $$ = "constraints"; } | CREATEDB { $$ = "createdb"; } @@ -5081,6 +5109,7 @@ ColId: IDENT { $$ = $1; } | TIMEZONE_HOUR { $$ = "timezone_hour"; } | TIMEZONE_MINUTE { $$ = "timezone_minute"; } | TRIGGER { $$ = "trigger"; } + | TRUNCATE { $$ = "truncate"; } | TRUSTED { $$ = "trusted"; } | TYPE_P { $$ = "type"; } | VALID { $$ = "valid"; } diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 3e30a47d12a..392e7509c8e 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.62 1999/09/29 16:06:08 wieck Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.63 1999/10/15 01:49:41 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -60,6 +60,7 @@ static ScanKeyword ScanKeywords[] = { {"coalesce", COALESCE}, {"collate", COLLATE}, {"column", COLUMN}, + {"comment", COMMENT}, {"commit", COMMIT}, {"committed", COMMITTED}, {"constraint", CONSTRAINT}, |