--- Percona-Server-5.5.32-rel31.0/sql/sql_yacc.yy.orig 2013-07-01 05:16:34.000000000 +0200 +++ Percona-Server-5.5.32-rel31.0/sql/sql_yacc.yy 2013-08-18 21:33:19.181583895 +0200 @@ -26,8 +26,6 @@ ** The type will be void*, so it must be cast to (THD*) when used. ** Use the YYTHD macro for this. */ -#define YYPARSE_PARAM yythd -#define YYLEX_PARAM yythd #define YYTHD ((THD *)yythd) #define YYLIP (& YYTHD->m_parser_state->m_lip) #define YYPS (& YYTHD->m_parser_state->m_yacc) @@ -50,7 +50,7 @@ const LEX_STRING null_lex_str={0,0}; -#define yyoverflow(A,B,C,D,E,F) {ulong val= (ulong) *(F); if (my_yyoverflow((B), (D), &val)) { yyerror((char*) (A)); return 2; } else { *(F)= (YYSIZE_T)val; }} +#define yyoverflow(A,B,C,D,E,F) {ulong val= (ulong) *(F); if (my_yyoverflow((B), (D), &val)) { yyerror(yythd, (char*) (A)); return 2; } else { *(F)= (YYSIZE_T)val; }} #undef WARN_DEPRECATED /* this macro is also defined in mysql_priv.h */ #define WARN_DEPRECATED(A,B) \ @@ -174,7 +172,7 @@ to abort from the parser. */ -void MYSQLerror(const char *s) +void MYSQLerror(void *yythd, const char *s) { THD *thd= current_thd; @@ -490,7 +490,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); %} -%pure_parser /* We have threads */ +%pure-parser /* We have threads */ +%parse-param { void *yythd } +%lex-param { void *yythd } /* Currently there are 240 shift/reduce conflicts. We should not introduce new conflicts any more.