diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-10-05 18:14:31 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-10-05 18:14:31 +0000 |
commit | 00c85b44b86518df6cb84f25f8ee42e5395634df (patch) | |
tree | cb8c4c465bee211d8e4ab41bdf01c15e37d50e69 | |
parent | d71ef47a700ea6585b08c34f327b071ed31fec79 (diff) |
Allow comment-only lines, and ;;; lines too.
-rw-r--r-- | src/backend/parser/gram.y | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 87c82839df4..006e545c3af 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.106 1999/10/03 23:55:30 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.107 1999/10/05 18:14:31 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -365,20 +365,29 @@ Oid param_type(int t); /* used in parse_expr.c */ %left UNION INTERSECT EXCEPT %% -stmtblock: stmtmulti opt_semi +/* + * Handle comment-only lines, and ;; SELECT * FROM pg_class ;;; + * psql already handles such cases, but other interfaces don't. + * bjm 1999/10/05 + */ +stmtblock: stmtmulti { parsetree = $1; } ; stmtmulti: stmtmulti ';' stmt - { $$ = lappend($1, $3); } + { if ($3 != (Node *)NIL) + $$ = lappend($1, $3); + else + $$ = $1; + } | stmt - { $$ = lcons($1,NIL); } + { if ($1 != (Node *)NIL) + $$ = lcons($1,NIL); + else + $$ = (Node *)NIL; + } ; -opt_semi: ';' - | /*EMPTY*/ - ; - stmt : AddAttrStmt | AlterUserStmt | ClosePortalStmt @@ -423,6 +432,8 @@ stmt : AddAttrStmt | VariableShowStmt | VariableResetStmt | ConstraintsSetStmt + | /*EMPTY*/ + { $$ = (Node *)NIL; } ; /***************************************************************************** |