aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y35
-rw-r--r--src/backend/parser/keywords.c3
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},