Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
':' and '%' have 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 '%' and '%' and modify the grammar in sql_yacc.yy and sql_yacc_ora.yy accordingly.
Instead of ':' and '%', we'll have separate COLON_ORACLE_SYM and PERCENT_ORACLE_SYM.
This will make possible for the native grammar rules and Oracle grammars rules to co-exists in the same *.yy files.
By default, Lex_input_stream::lex_one_token() will return ':' and '%', and translate them to COLON_ORACLE_SYM and PERCENT_ORACLE_SYM in Oracle compatibility mode.
Attachments
Issue Links
- blocks
-
MDEV-12518 Unify sql_yacc.yy and sql_yacc_ora.yy
- Closed
- relates to
-
MDEV-17652 Add sql_mode specific tokens for some keywords
- Closed
-
MDEV-17660 sql_mode=ORACLE: Some keywords do not work as label names: history, system, versioning, without
- Closed
-
MDEV-17661 Add sql_mode specific tokens for the keyword DECODE
- Closed