New "via" keyword in 5.2+ can't be used as identifier anymore

Bug #1010351 reported by Hartmut Holzgraefe
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Committed
Undecided
Sergey Petrunia

Bug Description

The new VIA keyword used for "... IDENTIFIED VIA <plugin> ..." can't be used as table or column name anymore although there should be no ambiguities about whether it is meant as a keyword or as an identifier in any context.

Looks as it was simply overlooked to add it to the "keyword:" list in sql_yacc.cc?

Adding it there does not procude any additional bison conflicts:

=== modified file 'sql/sql_yacc.yy'
--- sql/sql_yacc.yy 2012-03-27 23:04:46 +0000
+++ sql/sql_yacc.yy 2012-06-07 21:28:39 +0000
@@ -12950,6 +12950,7 @@
         | TRUNCATE_SYM {}
         | UNICODE_SYM {}
         | UNINSTALL_SYM {}
+ | VIA_SYM {}
         | WRAPPER_SYM {}
         | XA_SYM {}
         | UPGRADE_SYM {}

Adding it to the keyword_sp: list, too (for keywords that may be used as stored procedure labels) makes bison unhappy though :(

Revision history for this message
Hartmut Holzgraefe (hartmut-php) wrote :
Changed in maria:
status: New → Confirmed
Changed in maria:
status: Confirmed → In Progress
assignee: nobody → Sergey Petrunia (sergefp)
Revision history for this message
Sergey Petrunia (sergefp) wrote :

> Adding it to the keyword_sp: list, too (for keywords that may be used as stored procedure labels) makes bison unhappy though :(

The problem is that keyword includes keyword_sp:

keyword:
          keyword_sp {}

if one adds the same token to both keyword and keyword_sp, they will get reduce/reduce conflicts because bison will not know whether to reduce the token to 'keyword' directly or go through 'keyword_sp'.

I've tried adding VIA_SYM just to keyword_sp, and it worked.

Revision history for this message
Sergey Petrunia (sergefp) wrote :
Changed in maria:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.