mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#35577, manual merge mysql-5.0-bugteam -> mysql-5.1-bugteam
This commit is contained in:
@ -1513,7 +1513,6 @@ typedef struct st_lex : public Query_tables_list
|
||||
LEX_STRING comment, ident;
|
||||
LEX_USER *grant_user;
|
||||
XID *xid;
|
||||
uchar* yacc_yyss, *yacc_yyvs;
|
||||
THD *thd;
|
||||
|
||||
/* maintain a list of used plugins for this LEX */
|
||||
@ -1847,6 +1846,59 @@ typedef struct st_lex : public Query_tables_list
|
||||
}
|
||||
} LEX;
|
||||
|
||||
|
||||
/**
|
||||
The internal state of the syntax parser.
|
||||
This object is only available during parsing,
|
||||
and is private to the syntax parser implementation (sql_yacc.yy).
|
||||
*/
|
||||
class Yacc_state
|
||||
{
|
||||
public:
|
||||
Yacc_state()
|
||||
: yacc_yyss(NULL), yacc_yyvs(NULL)
|
||||
{}
|
||||
|
||||
~Yacc_state();
|
||||
|
||||
/**
|
||||
Bison internal state stack, yyss, when dynamically allocated using
|
||||
my_yyoverflow().
|
||||
*/
|
||||
uchar *yacc_yyss;
|
||||
|
||||
/**
|
||||
Bison internal semantic value stack, yyvs, when dynamically allocated using
|
||||
my_yyoverflow().
|
||||
*/
|
||||
uchar *yacc_yyvs;
|
||||
|
||||
/*
|
||||
TODO: move more attributes from the LEX structure here.
|
||||
*/
|
||||
};
|
||||
|
||||
/**
|
||||
Internal state of the parser.
|
||||
The complete state consist of:
|
||||
- state data used during lexical parsing,
|
||||
- state data used during syntactic parsing.
|
||||
*/
|
||||
class Parser_state
|
||||
{
|
||||
public:
|
||||
Parser_state(THD *thd, const char* buff, unsigned int length)
|
||||
: m_lip(thd, buff, length), m_yacc()
|
||||
{}
|
||||
|
||||
~Parser_state()
|
||||
{}
|
||||
|
||||
Lex_input_stream m_lip;
|
||||
Yacc_state m_yacc;
|
||||
};
|
||||
|
||||
|
||||
struct st_lex_local: public st_lex
|
||||
{
|
||||
static void *operator new(size_t size) throw()
|
||||
|
Reference in New Issue
Block a user