|
10 | 10 | * |
11 | 11 | * |
12 | 12 | * IDENTIFICATION |
13 | | - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.82 1999/05/21 18:31:06 momjian Exp $ |
| 13 | + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.83 1999/05/22 05:06:43 momjian Exp $ |
14 | 14 | * |
15 | 15 | * HISTORY |
16 | 16 | * AUTHORDATEMAJOR EVENT |
@@ -360,25 +360,20 @@ Oidparam_type(int t); /* used in parse_expr.c */ |
360 | 360 | %leftUNION INTERSECT EXCEPT |
361 | 361 | %% |
362 | 362 |
|
363 | | -stmtblock: stmtmulti |
| 363 | +stmtblock: stmtmulti opt_semi |
364 | 364 | { parsetree = $1; } |
365 | | -| stmt |
366 | | -{ parsetree = lcons($1,NIL); } |
367 | 365 | ; |
368 | 366 |
|
369 | | -stmtmulti: stmtmulti stmt ';' |
370 | | -{ $$ = lappend($1, $2); } |
371 | | -/***S*I***/ |
372 | | -/* We comment the next rule because it seems to be redundant |
373 | | - * and produces 16 shift/reduce conflicts with the new SelectStmt rule |
374 | | - * needed for EXCEPT and INTERSECTS. So far I did not notice any |
375 | | - * violations by removing the rule! */ |
376 | | -/* | stmtmulti stmt |
377 | | -{ $$ = lappend($1, $2); } */ |
378 | | -| stmt ';' |
| 367 | +stmtmulti: stmtmulti ';' stmt |
| 368 | +{ $$ = lappend($1, $3); } |
| 369 | +| stmt |
379 | 370 | { $$ = lcons($1,NIL); } |
380 | 371 | ; |
381 | 372 |
|
| 373 | +opt_semi:';' |
| 374 | +|/*EMPTY*/ |
| 375 | +; |
| 376 | + |
382 | 377 | stmt : AddAttrStmt |
383 | 378 | | AlterUserStmt |
384 | 379 | | ClosePortalStmt |
|