[MDEV-6128] [PATCH] mysqlcheck wrongly escapes '.' in table names Created: 2014-04-17 Updated: 2016-08-08 Resolved: 2015-01-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Affects Version/s: | 5.5.36, 5.5.37, 10.0.7, 10.0.10 |
| Fix Version/s: | 5.5.42, 10.0.17, 10.1.3 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Hartmut Holzgraefe | Assignee: | Oleksandr Byelkin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | upstream | ||
| Environment: |
linux |
||
| Attachments: |
|
| Description |
|
mysqlcheck encloses dots in a table in backticks, this doesn't make sense though as never expects to see a db.table combination (database and table names are passed in as separate parameters) This breaks mysqlcheck, and indirectly mysql_upgrade, for tables with a dot in their name test case:
then run
or
This was introduced in revision 1810.3494.1 ( http://bazaar.launchpad.net/~mysql/mysql-server/5.6/revision/1810.3494.1 ) as part of a fix for http://bugs.mysql.com/bug.php?id=30654 |
| Comments |
| Comment by Hartmut Holzgraefe [ 2014-04-17 ] | ||||||||||||||||||||||||
|
proposed fix:
| ||||||||||||||||||||||||
| Comment by Hartmut Holzgraefe [ 2014-04-17 ] | ||||||||||||||||||||||||
|
proposed patch | ||||||||||||||||||||||||
| Comment by Hartmut Holzgraefe [ 2014-04-18 ] | ||||||||||||||||||||||||
|
looks as if this is fixed in 5.7, but something is odd about it on launchpad check http://bazaar.launchpad.net/~mysql/mysql-server/5.6/annotate/head:/client/mysqlcheck.c#L52... and http://bazaar.launchpad.net/~mysql/mysql-server/5.7/annotate/head:/client/mysqlcheck.c#L52... the code escaping the '.' is gone in 5.7, but launchpad still lists the old changeset from 2007 for this part of the code? | ||||||||||||||||||||||||
| Comment by Hartmut Holzgraefe [ 2014-04-18 ] | ||||||||||||||||||||||||
|
Oracle's actual fix change sets are here: http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7416 looks as if there is a little more work needed as at some point it actually used db.table names internally ... my local 5.7 checkout also shows the wrong old changeset with "bzr annotate client/mysqlcheck.c", | ||||||||||||||||||||||||
| Comment by Oleksandr Byelkin [ 2015-01-28 ] | ||||||||||||||||||||||||
|
test suite (just for record):
| ||||||||||||||||||||||||
| Comment by Oleksandr Byelkin [ 2015-01-28 ] | ||||||||||||||||||||||||
|
patch is pushed to 5.5 |