gram.y has errors when processed by yacc (on Unixware 2.1.2)

Started by Billy G. Alliealmost 28 years ago2 messages
#1Billy G. Allie
Bill.Allie@mug.org

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 |

#2Bruce Momjian
maillist@candle.pha.pa.us
In reply to: Billy G. Allie (#1)
Re: [HACKERS] 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