[MDEV-17693] Shift/reduce conflicts for NAMES,ROLE,PASSWORD in the option_value_no_option_type grammar Created: 2018-11-13  Updated: 2018-11-13  Resolved: 2018-11-13

Status: Closed
Project: MariaDB Server
Component/s: Parser
Affects Version/s: 10.0, 10.1, 10.2, 10.3, 10.4
Fix Version/s: 10.3.11

Type: Bug Priority: Major
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-12518 Unify sql_yacc.yy and sql_yacc_ora.yy Closed

 Description   

The grammar rule option_value_no_option_type has shift/reduce conflicts for the following keywords:

  • NAMES_SYM
  • ROLE_SYM
  • PASSWORD_SYM

These keywords appear in explicit grammar branches, and at the same time as a part of ident.

To fix conflicts, this grammar branch:

option_value_no_option_type:
          ident equal set_expr_or_default
          {
            if (unlikely(Lex->set_variable(&$1, $3)))
              MYSQL_YYABORT;
          }

should be change to something like this:

option_value_no_option_type:
          ident_set_usual_case equal set_expr_or_default
          {
            if (unlikely(Lex->set_variable(&$1, $3)))
              MYSQL_YYABORT;
          }

were ident_set_usual_case won't include keywords NAMES_SYM, ROLE_SYM, PASSWORD_SYM.


Generated at Thu Feb 08 08:38:23 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.