diff --git a/Docs/manual.texi b/Docs/manual.texi index 12949abeb97..a705340fe86 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -46833,7 +46833,7 @@ users use this code as the rest of the code and because of this we are not yet 100% confident in this code. @menu -* News-3.23.49:: +* News-3.23.49:: Changes in release 3.23.49 * News-3.23.48:: Changes in release 3.23.48 * News-3.23.47:: Changes in release 3.23.47 * News-3.23.46:: Changes in release 3.23.46 @@ -46908,10 +46908,41 @@ Some InnoDB variables was always shown in @code{SHOW VARIABLES} as @code{OFF} on high-byte-first systems (like sparc). @item Fixed problem with one thread using an InnoDB table and another -thread doing an @code{ALTER TABLE} on the same table. +thread doing an @code{ALTER TABLE} on the same table. Before that, +mysqld could crash with an assertion failure in row0row.c, line 474. @item -If inserts to several tables containing an auto-inc column are wrapped -inside one @code{LOCK TABLES}, InnoDB asserted in @code{lock0lock.c}. +Tuned the InnoDB SQL optimizer to favor more often index searches +over table scans. +@item +Fixed a performance problem with InnoDB tables when several large SELECT +queries are run concurrently on a multiprocessor Linux computer. Large +CPU-bound SELECT queries will now also generally run faster on all +platforms. +@item +If MySQL binlogging is used, InnoDB now prints after crash recovery the +latest MySQL binlog name and the offset InnoDB was able to recover +to. This is useful, for example, when resynchronizing a master and a +slave database in replication. +@item +Added better error messages to help in installation problems of InnoDB tables. +@item +One can now recover also MySQL temporary tables which have become +orphaned inside the InnoDB tablespace. +@item +InnoDB now prevents a @code{FOREIGN KEY} declaration where the signedness +is not the same in the referencing and referenced integer columns. +@item +Calling @code{SHOW CREATE TABLE} or @code{SHOW TABLE STATUS} could cause +memory corruption and make mysqld to crash. Especially at risk was +@code{mysqldump}, because it calls frequently @code{SHOW CREATE TABLE}. +@item +If inserts to several tables containing an auto-inc column were wrapped +inside one @code{LOCK TABLES}, InnoDB asserted in lock0lock.c. +@item +In 3.23.47 we allowed several @code{NULLS} in a @code{UNIQUE} secondary +index for an InnoDB table. But @code{CHECK TABLE} was not relaxed: it +reports the table as corrupt. @code{CHECK TABLE} no longer complains in +this situation. @item @code{SHOW GRANTS} now shows @code{REFERENCES} instead of @code{REFERENCE}. @end itemize diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 62ebf04a9f3..7b5fc5797c9 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1574,8 +1574,8 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, #endif { /* - Win32 and InnoDB can't rename an open table, so we must close - the original table at before doing the rename + Win32 and InnoDB can't drop a table that is in use, so we must + close all the original table at before doing the rename */ table_name=thd->strdup(table_name); // must be saved if (close_cached_table(thd,table))