|
10 | 10 | * |
11 | 11 | * |
12 | 12 | * IDENTIFICATION |
13 | | - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.106 1999/10/03 23:55:30 tgl Exp $ |
| 13 | + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.107 1999/10/05 18:14:31 momjian Exp $ |
14 | 14 | * |
15 | 15 | * HISTORY |
16 | 16 | * AUTHORDATEMAJOR EVENT |
@@ -365,20 +365,29 @@ Oidparam_type(int t); /* used in parse_expr.c */ |
365 | 365 | %leftUNION INTERSECT EXCEPT |
366 | 366 | %% |
367 | 367 |
|
368 | | -stmtblock: stmtmulti opt_semi |
| 368 | +/* |
| 369 | + *Handle comment-only lines, and ;; SELECT * FROM pg_class ;;; |
| 370 | + *psql already handles such cases, but other interfaces don't. |
| 371 | + *bjm 1999/10/05 |
| 372 | + */ |
| 373 | +stmtblock: stmtmulti |
369 | 374 | { parsetree = $1; } |
370 | 375 | ; |
371 | 376 |
|
372 | 377 | stmtmulti: stmtmulti ';' stmt |
373 | | -{ $$ = lappend($1, $3); } |
| 378 | +{ if ($3 != (Node *)NIL) |
| 379 | +$$ = lappend($1, $3); |
| 380 | + else |
| 381 | +$$ = $1; |
| 382 | +} |
374 | 383 | | stmt |
375 | | -{ $$ = lcons($1,NIL); } |
| 384 | +{ if ($1 != (Node *)NIL) |
| 385 | +$$ = lcons($1,NIL); |
| 386 | + else |
| 387 | +$$ = (Node *)NIL; |
| 388 | +} |
376 | 389 | ; |
377 | 390 |
|
378 | | -opt_semi:';' |
379 | | -|/*EMPTY*/ |
380 | | -; |
381 | | - |
382 | 391 | stmt : AddAttrStmt |
383 | 392 | | AlterUserStmt |
384 | 393 | | ClosePortalStmt |
@@ -423,6 +432,8 @@ stmt : AddAttrStmt |
423 | 432 | | VariableShowStmt |
424 | 433 | | VariableResetStmt |
425 | 434 | | ConstraintsSetStmt |
| 435 | +|/*EMPTY*/ |
| 436 | +{ $$ = (Node *)NIL; } |
426 | 437 | ; |
427 | 438 |
|
428 | 439 | /***************************************************************************** |
|