The gram.y file in the snapshot file dated 30-JAN-98 causes errors when 
processed with yacc on Unixware 2.1.2.  The following patch will enable yacc 
to process the file, but I am unsure of the ramifications it will cause.

Your comments please.

--

*** src/backend/parser/gram.y.orig	Sat Jan 31 00:55:17 1998
--- src/backend/parser/gram.y	Sat Jan 31 01:44:07 1998
***************
*** 125,132 ****
  		ExplainStmt, VariableSetStmt, VariableShowStmt, VariableResetStmt,
  		CreateUserStmt, AlterUserStmt, DropUserStmt
  
- %type <rtstmt> 
- 
  %type <str>		opt_database, location
  
  %type <pboolean> user_createdb_clause, user_createuser_clause
--- 125,130 ----
***************
*** 261,267 ****
  		SECOND_P, SELECT, SET, SUBSTRING,
  		TABLE, TIME, TIMESTAMP, TO, TRAILING, TRANSACTION, TRIM,
  		UNION, UNIQUE, UPDATE, USING,
! 		VALUES, VARCHAR, VARYING, VERBOSE, VERSION, VIEW,
  		WHERE, WITH, WORK, YEAR_P, ZONE
  
  /* Keywords (in SQL3 reserved words) */
--- 259,265 ----
  		SECOND_P, SELECT, SET, SUBSTRING,
  		TABLE, TIME, TIMESTAMP, TO, TRAILING, TRANSACTION, TRIM,
  		UNION, UNIQUE, UPDATE, USING,
! 		VALUES, VARCHAR, VARYING, VIEW,
  		WHERE, WITH, WORK, YEAR_P, ZONE
  
  /* Keywords (in SQL3 reserved words) */
***************
*** 3284,3291 ****
  						makeA_Expr(OP, "<", $1, $4),
  						makeA_Expr(OP, ">", $1, $6));
  				}
! 		| a_expr IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' in_expr ')' { 
saved_In_Expr = lnext(saved_In_Expr); }
  				{
  					if (nodeTag($5) == T_SubLink)
  					{
  							SubLink *n = (SubLink *)$5;
--- 3282,3290 ----
  						makeA_Expr(OP, "<", $1, $4),
  						makeA_Expr(OP, ">", $1, $6));
  				}
! 		| a_expr IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' in_expr ')'
  				{
+ 					saved_In_Expr = lnext(saved_In_Expr);
  					if (nodeTag($5) == T_SubLink)
  					{
  							SubLink *n = (SubLink *)$5;
***************
*** 3297,3304 ****
  					}
  					else	$$ = $5;
  				}
! 		| a_expr NOT IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' 
not_in_expr ')' { saved_In_Expr = lnext(saved_In_Expr); }
  				{
  					if (nodeTag($6) == T_SubLink)
  					{
  							SubLink *n = (SubLink *)$6;
--- 3296,3304 ----
  					}
  					else	$$ = $5;
  				}
! 		| a_expr NOT IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' 
not_in_expr ')'
  				{
+ 					saved_In_Expr = lnext(saved_In_Expr);
  					if (nodeTag($6) == T_SubLink)
  					{
  							SubLink *n = (SubLink *)$6;

-- 
____       | Billy G. Allie    | Domain....: Bill.Allie@mug.org
|  /|      | 7436 Hartwell     | Compuserve: 76337,2061
|-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com
|/  |LLIE  | (313) 582-1540    | 



Sat, 31 Jan 1998 03:12:35 -0500
"Billy G. Allie" <Bill.Allie@mug.org>
gram.y has errors when processed by yacc (on Unixware 2.1.2)
I liked all of this patch, and have applied it.
> 
> The gram.y file in the snapshot file dated 30-JAN-98 causes errors when 
> processed with yacc on Unixware 2.1.2.  The following patch will enable yacc 
> to process the file, but I am unsure of the ramifications it will cause.
> 
> Your comments please.
> 
> --
> 

-- 
Bruce Momjian
maillist@candle.pha.pa.us

Sun, 1 Feb 1998 14:06:20 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] gram.y has errors when processed by yacc (on Unixware
	2.1.2)