Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
The sp_proc_stmt_statement grammar rule has a huge code block:
sp_proc_stmt_statement:
|
{
|
LEX *lex= thd->lex;
|
Lex_input_stream *lip= YYLIP;
|
 |
lex->sphead->reset_lex(thd);
|
lex->sphead->m_tmp_query= lip->get_tok_start();
|
}
|
statement
|
{
|
// The huge code block is here |
}
|
;
|
After unifying sql_yacc.yy and sql_yacc_ora.yy, there will be two similar rules:
- sp_proc_stmt_statemen, for the default sql_mode
- plsql_sp_proc_stmt_statemen, for sql_mode=ORACLE
To avoid so much duplicate code, we'll move this code into a new method in LEX:
bool sp_proc_stmt_statement_finalize(THD *thd, bool no_lookahead); |
Attachments
Issue Links
- blocks
-
MDEV-12518 Unify sql_yacc.yy and sql_yacc_ora.yy
- Closed