diff --git a/src/backend/commands/Makefile b/src/backend/commands/Makefile
index fa1c4495e59d974ade045332d391c03946c3f49f..70bae5417589373a0d5afb26d499931da3cb0d39 100644
--- a/src/backend/commands/Makefile
+++ b/src/backend/commands/Makefile
@@ -4,7 +4,7 @@
 #    Makefile for commands
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/backend/commands/Makefile,v 1.19 1999/10/26 03:12:34 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/backend/commands/Makefile,v 1.20 1999/10/26 16:32:46 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -33,6 +33,9 @@ SUBSYS.o: $(OBJS)
 
 comment.o: ../parse.h
 
+../parse.h:
+	$(MAKE) -C .. parse.h
+
 depend dep:
 	$(CC) -MM $(CFLAGS) *.c >depend
 
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index a4a0c721ea318ae884ae6aeb682a7a3d7ab50d40..41fef67b09b0a05ebf470344a8eb3d8ea6704e27 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.110 1999/10/26 03:12:34 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.111 1999/10/26 16:32:46 momjian Exp $
  *
  * HISTORY
  *	  AUTHOR			DATE			MAJOR EVENT
@@ -242,7 +242,7 @@ Oid	param_type(int t); /* used in parse_expr.c */
 %type <boolean>	opt_varying, opt_timezone
 
 %type <ival>	Iconst
-%type <str>		Sconst
+%type <str>		Sconst, comment_text
 %type <str>		UserId, var_value, zone_value
 %type <str>		ColId, ColLabel
 %type <str>		TypeId
@@ -1554,7 +1554,7 @@ TruncateStmt:  TRUNCATE TABLE relation_name
  *
  *****************************************************************************/
  
-CommentStmt:	COMMENT ON comment_type name IS Sconst
+CommentStmt:	COMMENT ON comment_type name IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1564,7 +1564,7 @@ CommentStmt:	COMMENT ON comment_type name IS Sconst
 				n->comment = $6;
 				$$ = (Node *) n;
 			}
-		| COMMENT ON comment_cl relation_name '.' attr_name IS Sconst
+		| COMMENT ON comment_cl relation_name '.' attr_name IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1574,7 +1574,7 @@ CommentStmt:	COMMENT ON comment_type name IS Sconst
 				n->comment = $8;
 				$$ = (Node *) n;
 			}
-		| COMMENT ON comment_ag name aggr_argtype IS Sconst
+		| COMMENT ON comment_ag name aggr_argtype IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1584,7 +1584,7 @@ CommentStmt:	COMMENT ON comment_type name IS Sconst
 				n->comment = $7;
 				$$ = (Node *) n;
 			}
-		| COMMENT ON comment_fn func_name func_args IS Sconst
+		| COMMENT ON comment_fn func_name func_args IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1594,7 +1594,7 @@ CommentStmt:	COMMENT ON comment_type name IS Sconst
 				n->comment = $7;
 				$$ = (Node *) n;
 			}
-		| COMMENT ON comment_op all_Op '(' oper_argtypes ')' IS Sconst
+		| COMMENT ON comment_op all_Op '(' oper_argtypes ')' IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1604,7 +1604,7 @@ CommentStmt:	COMMENT ON comment_type name IS Sconst
 				n->comment = $9;
 				$$ = (Node *) n;
 			}
-		| COMMENT ON comment_tg name ON relation_name IS Sconst
+		| COMMENT ON comment_tg name ON relation_name IS comment_text
 			{
 				CommentStmt *n = makeNode(CommentStmt);
 				n->objtype = $3;
@@ -1638,8 +1638,12 @@ comment_op:	OPERATOR { $$ = OPERATOR; }
 		;
 
 comment_tg:	TRIGGER { $$ = TRIGGER; }
-		;
+		; 
 
+comment_text:	Sconst { $$ = $1; }
+		| NULL_P { $$ = 0; }
+		;
+		
 /*****************************************************************************
  *
  *		QUERY: