Bug #36949 | SQL-syntax error when using FORCE INDEX(index,PRIMARY) | ||
---|---|---|---|
Submitted: | 26 May 2008 9:10 | Modified: | 15 Jul 2008 9:46 |
Reporter: | Yair dfwerfw | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Parser | Severity: | S3 (Non-critical) |
Version: | 5.0.45 | OS: | Any |
Assigned to: | Georgi Kodinov | CPU Architecture: | Any |
Tags: | FORCE INDEX syntax error |
[26 May 2008 9:10]
Yair dfwerfw
[26 May 2008 9:11]
Yair dfwerfw
I meant this select fails with a syntax error: SELECT * FROM my_table2 FORCE INDEX(aaa,PRIMARY) ; This select succeeds: SELECT * FROM my_table2 FORCE INDEX(PRIMARY,aaa) ;
[26 May 2008 12:22]
MySQL Verification Team
Thank you for the bug report. This bug doesn't affect 5.1: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.25-rc-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE IF NOT EXISTS my_table2 ( id int not null auto_increment, aaa varchar(255) -> null, PRIMARY KEY (id), INDEX (aaa) ) engine=innodb; Query OK, 0 rows affected (0.38 sec) mysql> SELECT * FROM my_table2 FORCE INDEX(aaa,PRIMARY) ; Empty set (0.00 sec) mysql> SELECT * FROM my_table2 FORCE INDEX(PRIMARY,aaa) ; Empty set (0.00 sec) mysql>
[6 Jun 2008 13:28]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/47536 2636 Georgi Kodinov 2008-06-06 Bug#36949: SQL-syntax error when using FORCE INDEX(index,PRIMARY) The list rule for the key list in the parser was written in an incomplete way. Fixed by using a designated production for the list elements.
[15 Jul 2008 9:46]
Georgi Kodinov
Since the problem is fixed in 5.1 and the workaround for 5.0 given I'm closing the bug. If you absolutely need the functionality, please apply the attached fix.