]> granicus.if.org Git - postgresql/commitdiff
Fix for select 1;select 2 without trailing semi.
authorBruce Momjian <bruce@momjian.us>
Sat, 22 May 1999 05:06:43 +0000 (05:06 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 22 May 1999 05:06:43 +0000 (05:06 +0000)
src/backend/parser/gram.y

index a0f9e8a43b7221d1c1601f6a7f180bff4f11f9bb..c038f43caae9477680f0b01e19430aa21972f31d 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.82 1999/05/21 18:31:06 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.83 1999/05/22 05:06:43 momjian Exp $
  *
  * HISTORY
  *       AUTHOR                        DATE                    MAJOR EVENT
@@ -360,25 +360,20 @@ Oid       param_type(int t); /* used in parse_expr.c */
 %left          UNION INTERSECT EXCEPT
 %%
 
-stmtblock:  stmtmulti
+stmtblock:  stmtmulti opt_semi
                                { parsetree = $1; }
-               | stmt
-                               { parsetree = lcons($1,NIL); }
                ;
 
-stmtmulti:  stmtmulti stmt ';'
-                               { $$ = lappend($1, $2); }
-/***S*I***/
-/* We comment the next rule because it seems to be redundant
- * and produces 16 shift/reduce conflicts with the new SelectStmt rule
- * needed for EXCEPT and INTERSECTS. So far I did not notice any
- * violations by removing the rule! */
-/*             | stmtmulti stmt
-                               { $$ = lappend($1, $2); } */
-               | stmt ';'
+stmtmulti:  stmtmulti ';' stmt
+                               { $$ = lappend($1, $3); }
+               | stmt
                                { $$ = lcons($1,NIL); }
                ;
 
+opt_semi:      ';'
+               |       /*EMPTY*/
+               ;
+               
 stmt :   AddAttrStmt
                | AlterUserStmt
                | ClosePortalStmt