| Bug #32430 | 'show innodb status' causes errors Invalid (old?) table or database name in logs | ||
|---|---|---|---|
| Submitted: | 16 Nov 2007 10:35 | Modified: | 4 Nov 11:28 |
| Reporter: | Shane Bester | ||
| Status: | Patch approved | ||
| Category: | Server: InnoDB | Severity: | S3 (Non-critical) |
| Version: | 5.1.22, 5.1.23, 5.1.37 | OS: | Any |
| Assigned to: | Marko Mäkelä | Target Version: | 5.1+ |
| Tags: | bfsm_2007_12_06 | ||
| Triage: | Triaged: D4 (Minor) | ||
[16 Nov 2007 10:35]
Shane Bester
[16 Nov 2007 10:51]
Shane Bester
testcase. see top of file for host, user, port, compiling.
Attachment: bug32430.c (text/plain), 6.39 KiB.
[16 Nov 2007 11:55]
Shane Bester
enabling the innodb_lock_monitor cause many of these messages to be printed out! create table innodb_lock_monitor(a int)engine=innodb;
[16 Nov 2007 13:50]
Heikki Tuuri
This is probably a MySQL Server or Partitioning bug. Those error messages in the log are printed by the MySQL server. InnoDB does not communicate table names back to MySQL.
[16 Nov 2007 14:04]
Marko Mäkelä
In the InnoDB data dictionary, table and database names created by MySQL 5.1 are in the filename-safe encoding where [A-Za-z0-9_] are represented by themselves and other Unicode entities are encoded in hexadecimal notation, e.g., @002f for /, or in a three-character encoding @[g-z][0-9a-z] for certain alphabets. Table and database names created by MySQL 4.1 and 5.0 are in UTF-8 encoding, and MySQL/InnoDB 5.1 assumes that these are accessed by prefixing them with #mysql50#. Without looking at the code, I believe that the bug can be fixed by replacing a # with @0023 somewhere in the MySQL code base.
[13 Dec 2007 11:44]
Mattias Jonsson
have not verified it, but it might be that it changes the #P# part to #p# (upper case to lower case 'p' for partition) somewhere and uses it afterwards.
[9 Jan 2008 19:47]
Inaam Rana
I am assigning this bug away from me as the fix lies in MySQL layer. The problem is created by the '#' character in the partitioned table name. MySQL generates partition names by inserting #P# in the table name in create_partition_name() When we call show innodb status, InnoDB calls filename_to_tablename() from innobase_print_identifier(). In this we choke on '#' character in strconvert().
[29 Jan 2008 21:22]
Mikael Ronstrom
The use of # in partition names is intentional. The idea is to ensure that a partition name cannot be a table name. Thus you can look for #P# in table names in InnoDB if finding such a name and also #SP# if I remember correctly you need to handle it in some manner. We cannot remove the # since that would create havoc in the way that a partition name might be also a table name and we could get clashes of names in all kinds of manners.
[29 Jan 2008 21:24]
Mikael Ronstrom
Thus there is no fix in the MySQL layer that can fix this. The fix has to happen in the storage engine layer.
[30 Jan 2008 17:28]
Sergei Golubchik
as mikael has explained, '#' is present, precisely, to have a file name that could never clash with a valid filename of a table. It means, you cannot simply use filename_to_tablename() for show innodb status, you need a smarter function, generating something like "partition 1 of a table XXX" for XXX#p#1. On a second thought, the problem is storage-engine independent, so such a function could be added to MySQL as an utility for storage engines to use.
[7 Feb 2008 13:46]
Mikael Ronstrom
Inam, As seen the problem is in the InnoDB, if you want the support function mentioned by Serg, just write it in the bug here and we'll fix it, however the bug itself needs to be fixed in the storage engine.
[12 Feb 2008 7:31]
Inaam Rana
I was not suggesting to take away the '#' from the file name. From InnoDB's perspective all we need is some function, as suggested by Sergei, that won't choke on '#'. If MySQL can do it by changing filename_to_tablename() or strconvert() so that it treats '#' gracefully that would be just fine. Or if so desired, MySQL can provide us with a different function to call. regards, inaam
[2 Jul 2008 21:02]
Mattias Jonsson
I am investigating a modified filename_to_tablename function which I call unescape_filename, which converts a filename character set string (incl. '#' which is not in the filename character set, but used by partitioning) to the systems character set.
[7 Jul 2008 12:58]
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/49078 2691 Mattias Jonsson 2008-07-07 Bug#32430 'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was the function filename_to_tablename in conjuction with partitions, since partitions intentionally uses the '#' character, which is not included in the filename charset. Solution was to implement the unescape filename function that allows the '#' character and only converts the filename from filename charset to system_charset_info.
[3 Sep 2008 23:06]
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/53207 2753 Mattias Jonsson 2008-09-03 Bug#32430:'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was that InnoDB used filename_to_tablename, which do not handle partitions (due to the '#' in the filename). Solution is to add a new function to use to explain what the filename means, explain_filename It expands to Database, Table, [Temporary|Renamed] Partition, Subpartition and uses errmsg.txt for localization. This will first go through review in Sun for the server part, and if approved, go through review by Oracle/InnoBASE and if approved it will then be included in both server and InnoDB.
[11 Sep 2008 14:39]
Mattias Jonsson
Please add error handling for the res variable After that OK to push for me /Mikael
[5 Nov 2008 21:28]
Mattias Jonsson
New proposed patch (updated as requested), commit mail got lost, this is in bzr send format.
Attachment: b32430_2-60.bzr-send (application/octet-stream, text), 20.72 KiB.
[1 Dec 2008 18:07]
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/60300 2753 Mattias Jonsson 2008-12-01 Bug#32430:'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was that InnoDB used filename_to_tablename, which do not hanlde partitions (due to the '#' in the filename). Solution is to add a new fuction for explaining what the filename means, explain_filename. It expands to Database, Table, [Temporary|Renamed] Partition, Subpartition and uses errmsg.txt for localization. It also converts from my_charset_filename to system_charset_info (i.e. human readable form for non ascii characters). This will first go through review in Sun for the server part, and if approved go through review by InnoBASE and if approved, it will then be included in both server and InnoDB.
[8 Dec 2008 11:30]
Mattias Jonsson
The server part has been reviewed and approved, resetting to Verified and 'InnoDB' for reviewing by the InnoDB team.
[18 Dec 2008 14:45]
Marko Mäkelä
The submitted patch is not acceptable, because it would change the formatting of non-partitioned table names in the MySQL error log, in SHOW ENGINE INNODB STATUS and in other places. Sergei Golubchik agreed with our view and presented an acceptable solution: I'd really prefer to have a "most common" case to be a subset of a less common but more generic one. Surely, we can find a notation that works this way. For example `test`.`t` partition `abbaguu` subpartition 5 or even `test`.`t` [`abbaguu`, 5] although the latter is awfully unreadable.
[18 Dec 2008 14:48]
Heikki Tuuri
Mattias, please make a new patch that prints an ordinary table name like this: `test`.`t` Regards, Heikki
[19 Dec 2008 10:54]
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/62063 2753 Mattias Jonsson 2008-12-19 Bug#32430:'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was that InnoDB used filename_to_tablename, which do not hanlde partitions (due to the '#' in the filename). Solution is to add a new fuction for explaining what the filename means, explain_filename. It expands to Database, Table, [Temporary|Renamed] Partition, Subpartition and uses errmsg.txt for localization. It also converts from my_charset_filename to system_charset_info (i.e. human readable form for non ascii characters). It can also return only db and table name as well as append the partition/subpartition as a comment. This will first go through review in Sun for the server part, and if approved go through review by InnoBASE and if approved, it will then be included in both server and InnoDB.
[22 Dec 2008 12:39]
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/62207 2753 Mattias Jonsson 2008-12-22 Bug#32430:'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was that InnoDB used filename_to_tablename, which do not handle partitions (due to the '#' in the filename). Solution is to add a new function for explaining what the filename means: explain_filename. It expands the database, table, partition and subpartition parts and uses errmsg.txt for localization. It also converts from my_charset_filename to system_charset_info (i.e. human readable form for non ascii characters). It has three different output styles.
[22 Dec 2008 12:51]
Mattias Jonsson
I've updated the patch according to a mail from Sergei 2008-12-22: Hi, Mattias! On Dec 19, Mattias Jonsson wrote: > > Hi, > > > > I have added an option to select the type of output from explain_filename: > > > > @param explain_mode Requested output format. > > EXPLAIN_ONLY_DB_AND_TABLE_NAME -> `db`.`tbl` > > EXPLAIN_ALL_VERBOSE -> [Database `db`, ]Table `tbl`[,[ Temporary| Renamed] > > Partition `p` [, Subpartition `sp`]] > > EXPLAIN_PARTITIONS_AS_COMMENT -> `db`.`tbl` /*[ Temporary| Renamed] > > Partition `p` [, Subpartition `sp`]] */ Please add also `db`.`tbl` [Temporary|Renamed] Partition `p` [, Subpartition `sp`]] that is, like EXPLAIN_PARTITIONS_AS_COMMENT but without comment marks. Perhaps, remove the first EXPLAIN_ONLY_DB_AND_TABLE_NAME - as it's ambiguous and lossy, and thus dangerous. Although, frankly speaking, it looks like over-engineering to me, I think having one output format (as above) is enough. > Sergei, Is this patch still approved for server use? > > Heikki, Marko, This allows you to use EXPLAIN_ONLY_DB_AND_TABLE_NAME, > or EXPLAIN_PARTITIONS_AS_COMMENT as you like. Exactly. That's why there should be no EXPLAIN_ONLY_DB_AND_TABLE_NAME. It's misleadingly easy to use and it seemingly works ok, but when there's a problem in partition it'll result in wrong diagnostics - like table dead-locking itself (in fact, deadlock between two partitions), or corrupted 10TB table (while only one partition is bad), etc. Remember rules of the good API - it should be difficult to use it wrong. Regards / Mit vielen Grüßen, Sergei =================================== Which also should be OK with Marko, according to a mail 2008-12-11: On Tue, Dec 09, 2008 at 09:11:36PM +0100, Sergei Golubchik wrote: > Marko, do I understand correctly that you were replying to Heikki's > suggestion of > > Database 'test', table 't', partition 'abbaguu', subpartition '5' > > That is, you don't have anything against my (from my reply) > > `test`.`t` partition CBA subpartition 2 > > Right ? > Note, that using "--" (to comment out the partition part) is not a good > idea, because "--" is an end-of-line comment, you should've used /*...*/ Yes, I was replying to Heikki's suggestion. And no, I don't have anything against a solution where the message always starts with `databasename`.`tablename`. Your suggestion is fine. Best regards, Marko =============== So the function explain_filename has now three different output styles: EXPLAIN_ALL_VERBOSE [Database `db`, ]Table `tbl`[,[ Temporary| Renamed] Partition `p`[, Subpartition `sp`]] EXPLAIN_PARTITIONS_VERBOSE `db`.`tbl`[[ Temporary| Renamed] Partition `p`[, Subpartition `sp`]] EXPLAIN_PARTITIONS_AS_COMMENT `db`.`tbl` /*[[ Temporary| Renamed] Partition `p`[, Subpartition `sp`]] */ So I now reassign to Marko.
[22 Jan 15:20]
Marko Mäkelä
I am not entirely happy with the patch at http://lists.mysql.com/commits/62207: 1. Why does it change a string in dict_index_name_print()? 2. Why does it add "|| table_id" in the last hunk in innobase_print_identifier()? 3. The function ut_print_namel() is invoked with table_id=FALSE to print the names of indexes. These should never be interpreted as table names, as the patch attempts to do. When table_id=FALSE, the identifier should merely be converted to the connection character set.
[21 Feb 19:57]
Mattias Jonsson
Marko, I've reassigned this to you, since I mainly proposed the Server part of the patch, which also was what was reviewed. The InnoDB part was just meant to make use of the of the new partitioning safe function. So please feel free to use the new function as you see fit in the InnoDB engine.
[24 Feb 8:21]
Marko Mäkelä
Mattias, please commit the server specific part, so that I can fix the InnoDB specific part later.
[2 Jun 11:08]
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/75445
[2 Jun 13:54]
Mattias Jonsson
Pushed the server side part (support function for explaining filename as database/table[/partition[/subpartition]] into mysql-5.1-bugteam and mysql-6.0-bugteam This bug can now be reassigned to be fixed in InnoDB.
[16 Jun 13:05]
Bugs System
Pushed into 5.1.36 (revid:joro@sun.com-20090616102155-3zhezogudt4uxdyn) (version source revid:satya.bn@sun.com-20090602124140-ipyolwfza4ooqkw4) (merge vers: 5.1.36) (pib:6)
[17 Jun 21:22]
Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:satya.bn@sun.com-20090602130245-0qyv7d31tx4z69i1) (merge vers: 6.0.12-alpha) (pib:11)
[22 Jun 11:45]
Marko Mäkelä
Now that the MySQL part of the fix finally is in the 5.1 bzr tree, I tried to fix this. Some issues: * The function add_identifier() ends in return instead of DBUG_RETURN, causing tests to fail when mysqld is built with DBUG. * The identifiers are apparently converted to my_charset_filename, e.g., ` in a table name is encoded as @0060 instead of ``. Also the characters \ " ' are quoted unnecessarily (when the identifier quote char is the default `). I am afraid that the latter problem is a showstopper that would make the fix worse than the original bug.
[10 Jul 14:11]
Sergey Vojtovich
As explained by Marko 22 Jun 11:45, additional server side fix is still required.
[10 Jul 19:17]
Sergei Golubchik
Marko, could you please elaborate on "The identifiers are apparently converted to my_charset_filename <...>. Also the characters \ " ' are quoted unnecessarily" I could not repeat that. ` is shows as `, \ and " are also shows as themselves.
[4 Aug 13:55]
Marko Mäkelä
Serg, my comment from [22 Jun 11:45] still looks valid in the current 5.1 bzr tree.
add_identifier() in sql_table.cc still ends in return instead of DBUG_RETURN:
=== modified file 'sql/sql_table.cc'
--- sql/sql_table.cc 2009-07-06 06:55:53 +0000
+++ sql/sql_table.cc 2009-08-04 10:04:02 +0000
@@ -103,7 +103,7 @@
to_p+= my_snprintf(to_p, end_p - to_p, ER(errcode), conv_name);
else
to_p+= my_snprintf(to_p, end_p - to_p, "`%s`", conv_name);
- return to_p;
+ DBUG_RETURN(to_p);
}
Also, the code in the MySQL server still breaks innodb_information_schema.test in the
InnoDB Plugin, because explain_filename() or add_identifier() misquotes some special
characters of the table ```t'\"_str`. The functions also ignore SQL_MODE='ANSI_QUOTES'.
Here is an excerpt from the result diff, for this snippet:
SELECT lock_table,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
GROUP BY lock_table;
set @save_sql_mode = @@sql_mode;
SET SQL_MODE='ANSI_QUOTES';
SELECT lock_table,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
GROUP BY lock_table;
SET @@sql_mode=@save_sql_mode;
lock_table COUNT(*)
+`test`.`@0060t@0027@005c@0022_str` 10
`test`.`t_max` 2
`test`.`t_min` 2
-`test`.```t'\"_str` 10
lock_table COUNT(*)
-"test"."t_max" 2
-"test"."t_min" 2
-"test"."`t'\""_str" 10
+`test`.`@0060t@0027@005c@0022_str` 10
+`test`.`t_max` 2
+`test`.`t_min` 2
You see, explain_filename always quotes with `, and it misquotes the characters `'\" in
the table name.
[7 Aug 15:09]
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/80360
[7 Aug 16:22]
Mattias Jonsson
The extra quoting is actually done in innodb_convert_identifier, not in explain filename. There was a bug that did not convert non partitioned table's filenames, which is corrected in the patch (table_name_len was updated if no partition name was found). And since the qouting is done in InnoDB, I added an extra mode where explain_filename does not add any quotes. I also found a small bug in with the added quotes around the identifier, it did not qoute '`' inside the identifier. So now explain_filename should fit better. Note that if the file is a [sub]partition " /* Partition p_name [Subpartition subp_name] */" will be appended in the "table" name and then get quoted.
[26 Aug 15:46]
Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 15:46]
Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers: 5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 15:48]
Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers: 5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 18:32]
Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[28 Aug 21:04]
Mattias Jonsson
Pushed an update to mysql-5.1-bugteam and mysql-pe, reassigning to Marko again.
[2 Sep 18:43]
Bugs System
Pushed into 5.1.39 (revid:joro@sun.com-20090902154533-8actmfcsjfqovgsb) (version source revid:mattias.jonsson@sun.com-20090828115417-4hnm8hgfnekwcd8d) (merge vers: 5.1.39) (pib:11)
[9 Sep 15:31]
Marko Mäkelä
Patch for MySQL and InnoDB Plugin
Attachment: bug32430-bzr.patch (text/x-diff), 7.35 KiB.
[9 Sep 15:34]
Marko Mäkelä
Mattias, I attached a patch that does not break InnoDB Plugin. I think that it would be most straightforward to port the InnoDB part of this patch to the built-in InnoDB.
[14 Sep 18:03]
Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (version source revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (merge vers: 5.4.4-alpha) (pib:11)
[23 Sep 11:00]
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/84271 3124 Mattias Jonsson 2009-09-23 Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was still not completely fixed, due to qouting. This patch (originally from Marko) moves the qouting to explain_filename including applying this to both the 'old' built-in innodb engine as well as the newer plugin. @ mysql-test/include/have_not_innodb_plugin.inc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added include file to allow test for only the 'old' built-in innodb engine @ mysql-test/r/not_true.require Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added require to match 'not' TRUE @ mysql-test/r/partition_innodb_builtin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/r/partition_innodb_plugin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the new plugin innodb engine @ mysql-test/t/partition_innodb_builtin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/t/partition_innodb_plugin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the new plugin innodb engine @ sql/mysql_priv.h Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added thd as a parameter to explain_filename to be able to use the correct quote character @ sql/sql_table.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Changed explain_filename, so that it does qouting correctly according to the sessions qoute char. @ storage/innobase/handler/ha_innodb.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Make use of the new explain_filename function instead of filename_to_tablename, which does not work with partitions @ storage/innodb_plugin/handler/ha_innodb.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Make use of the new explain_filename function instead of filename_to_tablename, which does not work with partitions
[23 Sep 15:12]
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/84357 3124 Mattias Jonsson 2009-09-23 Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was still not completely fixed, due to qouting. This patch (originally from Marko) moves the qouting to explain_filename including applying this to both the 'old' built-in innodb engine as well as the newer plugin. (Updated partition_innodb_plugin.test) @ mysql-test/include/have_not_innodb_plugin.inc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added include file to allow test for only the 'old' built-in innodb engine @ mysql-test/r/not_true.require Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added require to match 'not' TRUE @ mysql-test/r/partition_innodb_builtin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/r/partition_innodb_plugin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the new plugin innodb engine @ mysql-test/t/partition_innodb_builtin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/t/partition_innodb_plugin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the new plugin innodb engine @ sql/mysql_priv.h Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added thd as a parameter to explain_filename to be able to use the correct quote character @ sql/sql_table.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Changed explain_filename, so that it does qouting correctly according to the sessions qoute char. @ storage/innobase/handler/ha_innodb.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Make use of the new explain_filename function instead of filename_to_tablename, which does not work with partitions @ storage/innodb_plugin/handler/ha_innodb.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Make use of the new explain_filename function instead of filename_to_tablename, which does not work with partitions
[25 Sep 11:27]
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/84594 3124 Mattias Jonsson 2009-09-25 Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was still not completely fixed, due to qouting. This is the server side only fix (in explain_filename), the change from filename_to_tablename to use explain_filename in the InnoDB code must be done before the bug is fixed. @ mysql-test/include/have_not_innodb_plugin.inc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added include file to allow test for only the 'old' built-in innodb engine @ mysql-test/r/not_true.require Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added require to match 'not' TRUE @ mysql-test/r/partition_innodb_builtin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/r/partition_innodb_plugin.result Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New result file for partitioning specific to the new plugin innodb engine @ mysql-test/t/disabled.def Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Disabling the new test until the fix is included in the InnoDB source too. @ mysql-test/t/partition_innodb_builtin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the 'old' built-in innodb engine @ mysql-test/t/partition_innodb_plugin.test Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs New test file for partitioning specific to the new plugin innodb engine @ sql/mysql_priv.h Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Added thd as a parameter to explain_filename to be able to use the correct quote character @ sql/sql_table.cc Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Changed explain_filename, so that it does qouting correctly according to the sessions qoute char.
[29 Sep 11:37]
Mattias Jonsson
Pushed the server side patch into mysql-5.1-bugteam and mysql-pe. Re-assigning to Marko... When merged into the main tree, the Innodb side patch will be added. Marko, please re-assign back to me when this is done... When the innodb part is merged into the mysql source, I will also enable the two test.
[1 Oct 7:58]
Bugs System
Pushed into 5.1.39-ndb-6.3.28 (revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (version source revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (merge vers: 5.1.39-ndb-6.3.28) (pib:11)
[1 Oct 9:25]
Bugs System
Pushed into 5.1.39-ndb-7.0.9 (revid:jonas@mysql.com-20091001072547-kv17uu06hfjhgjay) (version source revid:jonas@mysql.com-20091001071652-irejtnumzbpsbgk2) (merge vers: 5.1.39-ndb-7.0.9) (pib:11)
[1 Oct 15:25]
Bugs System
Pushed into 5.1.39-ndb-7.1.0 (revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (version source revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (merge vers: 5.1.39-ndb-7.1.0) (pib:11)
[5 Oct 12:50]
Bugs System
Pushed into 5.1.39-ndb-6.2.19 (revid:jonas@mysql.com-20091005103850-dwij2dojwpvf5hi6) (version source revid:jonas@mysql.com-20090930185117-bhud4ek1y0hsj1nv) (merge vers: 5.1.39-ndb-6.2.19) (pib:11)
[6 Oct 11:01]
Bugs System
Pushed into 5.1.40 (revid:joro@sun.com-20091006073316-lea2cpijh9r6on7c) (version source revid:ingo.struewing@sun.com-20091002112748-2xmjv846dk323nc3) (merge vers: 5.1.40) (pib:11)
[14 Oct 17:26]
Paul DuBois
Noted in 5.1.40 changelog. SHOW ENGINE INNODB STATUS displayed partition names for partitioned tables incorrectly. Setting report to NDI pending push into 5.5.x+.
[14 Oct 21:13]
Mattias Jonsson
Note that the InnoDB part is not yet pushed into mysql-5.1, so this bug is not yet fixed! Paul, please remove the note in 5.1.40 for this bug.
[14 Oct 22:28]
Paul DuBois
Removing 5.1.40 changelog entry for now. Setting report back to Verified.
[22 Oct 8:34]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091022063126-l0qzirh9xyhp0bpc) (version source revid:alik@sun.com-20091019135554-s1pvptt6i750lfhv) (merge vers: 6.0.14-alpha) (pib:13)
[22 Oct 9:06]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091022060553-znkmxm0g0gm6ckvw) (version source revid:alik@sun.com-20091013094238-g67x6tgdm9a7uik0) (merge vers: 5.5.0-beta) (pib:13)
