[MDEV-17661] Add sql_mode specific tokens for the keyword DECODE Created: 2018-11-10 Updated: 2018-11-11 Resolved: 2018-11-10 |
|
| 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 |
|
DECODE has different meaning 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 DECODE_SYM, we'll have separate DECODE_MARIADB_SYM and DECODE_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 DECODE_MARIADB_SYM, and translate it to DECODE_ORACLE_SYM in Oracle compatibility mode:
|