[MDEV-17669] Add sql_mode specific tokens for the keyword DECLARE Created: 2018-11-12 Updated: 2018-11-12 Resolved: 2018-11-12 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Parser |
| Fix Version/s: | 10.3.11 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
DECLARE has different meanings in the default sql_mode and in sql_mode=ORACLE. To unify sql_yacc.yy and sql_yacc_ora.yy easier, we'll add sql_mode specific tokens for this keyword and modify the grammar in sql_yacc.yy and sql_yacc_ora.yy accordingly. Instead of DECLARE_SYM, we'll have separate DECLARE_MARIADB_SYM and DECLARE_ORACLE_SYM. This will make possible for native and Oracle grammar rules to co-exists in the same *.yy files. By default, Lex_input_stream::find_keyword() will return DECLARE_MARIADB_SYM, and translate it to DECLARE_ORACLE_SYM in Oracle compatibility mode:
|