|
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
|
|