-----BEGIN PGP SIGNED MESSAGE-----
MySQL 4.0.13, a new version of the popular Open Source Database, has been
released. It is now available in source and binary form for a number of
platforms from our download pages at http://www.mysql.com/downloads/ and
Note that not all mirror sites may be up to date at this point in time -
if you can't find this version on some mirror, please try again later or
choose another download site.
This is a bugfix release for the current production version.
Please refer to our bug database at http://bugs.mysql.com/ for more
details about the individual bugs fixed in this version.
Changes in release 4.0.13:
Functionality added or changed:
- `PRIMARY KEY' now implies `NOT NULL'. (Bug #390)
- The windows binary packages are now compiled with
`--enable-local-infile' to match the Unix build configuration.
- Removed timing of tests from `mysql-test-run'. `time' does not
accept all required parameters on many platforms (e.g. QNX) and
timing the tests is not really required (it's not a benchmark anyway).
- `SHOW MASTER STATUS' and `SHOW SLAVE STATUS' required the `SUPER'
privilege; now they accept `REPLICATION CLIENT' as well. (Bug #343)
- Added multi-threaded MyISAM repair optimisation and
`myisam_repair_threads' variable to enable it.
- Added `innodb_max_dirty_pages_pct' variable which controls amount
of dirty pages allowed in InnoDB buffer pool.
- Logged `Access denied' error message had wrong `Using password'
value. (Bug #398)
- `CURRENT_USER()' and "access denied" error messages now report
hostname exactly as it was specified in the `GRANT' command.
- Removed benchmark results from the source and binary
distributions. They are still available in the BK source tree,
- InnoDB tables now support `ANALYZE TABLE'.
- MySQL now issues a warning when it opens a table that was created
with MySQL 4.1.
- `mysql' command line client no longer looks for `\*' commands
inside backtick-quoted strings.
- Option `--new' now changes binary items (`0xFFDF') to be treated
as binary strings instead of numbers by default. This fixes some
problems with character sets where it's convenient to input the
string as a binary item. After this change you have to convert
the binary string to `INTEGER' with a `CAST' if you want to
compare two binary items with each other and know which one is
bigger than the other. `SELECT CAST(0xfeff AS UNSIGNED) <
CAST(0xff AS UNSIGNED)'. This will be the default behaviour in
MySQL 4.1. (Bug #152)
- Fixed bug with `NATURAL LEFT JOIN', `NATURAL RIGHT JOIN' and
`RIGHT JOIN' when using many joined tables. The problem was that
the `JOIN' method was not always associated with the tables
surrounding the `JOIN' method. If you have a query that uses many
`RIGHT JOIN' or `NATURAL ... JOINS' you should check that they
work as you expected after upgrading MySQL to this version.
- Enabled `delayed_insert_timeout' on Linux (most modern glibc
libraries have a fixed `pthread_cond_timedwait'). (Bug #211)
- Don't create more insert delayed threads than given by
`max_insert_delayed_threads'. (Bug #211)
- Changed `UPDATE ... LIMIT' to also count accepted, but not changed
- Tuned optimizer to favour clustered index over table scan.
- `BIT_AND()' and `BIT_OR()' now return an unsigned 64 bit value.
- Added warnings to error log of why a secure connection failed (when
running with `--log-warnings').
- Deprecated options `--skip-symlink' and `--use-symbolic-links' and
replaced these with `--symbolic-links'.
- The default option for `innodb_flush_log_at_trx_commit' was changed
from 0 to 1 to make InnoDB tables ACID by default. *Note InnoDB
- Added a feature to `SHOW KEYS' to display keys that are disabled by
`ALTER TABLE DISABLE KEYS' command.
- When using a non-existing table type with `CREATE TABLE', first
try if the default table type exists before falling back to
- Added `MEMORY' as an alias for `HEAP'.
- Renamed function `rnd' to `my_rnd' as the name was too generic and
is an exported symbol in `libmysqlclient' (thanks to Dennis Haney
for the initial patch).
- Portability fix: renamed `include/dbug.h' to `include/my_debug.h'.
- `mysqldump' no longer silently deletes the binlogs when called with
`--master-data' or `--first-slave'; while this behaviour was
convenient for some users, others may suffer from it. Now one has
to explicitely ask for this deletion with the new
- If the slave is configured (using for example
`replicate-wild-ignore-table=mysql.%') to exclude `mysql.user',
`mysql.host', `mysql.db', `mysql.tables_priv' and
`mysql.columns_priv' from replication, then `GRANT' and `REVOKE'
will not be replicated.
- Fixed `Unknown error' when using `UPDATE ... LIMIT'. (Bug #373)
- Fixed problem with ansi mode and `GROUP BY' with constants. (Bug #387)
- Fixed bug with `UNION' and `OUTER JOIN'. (Bug #386)
- Fixed bug if one used a multi-table `UPDATE' and the query
required a temporary table bigger than `tmp_table_size'. (Bug #286)
- Run `mysql_install_db' with the `-IN-RPM' option for the Mac OS X
installation to not fail on systems with improperly configured
- `LOAD DATA INFILE' will now read `000000' as a zero date instead as
- Fixed bug that caused `DELETE FROM table WHERE const_expression'
always to delete the whole table (even if expression result was
false). (Bug #355)
- Fixed core dump bug when using `FORMAT('nan',#)'. (Bug #284)
- Fixed name resolution bug with `HAVING ... COUNT(DISTINCT ...)'.
- Fixed wrong result from truncation operator (`*') in `MATCH ...
AGAINST()' in some complex joins.
- Fixed a crash in `REPAIR ... USE_FRM' command, when used on
read-only, nonexisting table or a table with a crashed index file.
- Fixed a crashing bug in mysql monitor program. It occured if
program was started with `--no-defaults', with a prompt that
contained hostname and connection to non-existing db was requested
- Fixed problem when comparing a key for a multi-byte-character set.
- Fixed bug in `LEFT', `RIGHT' and `MID' when used with multi-byte
character sets and some `GROUP BY' queries. (Bug #314)
- Fix problem with `ORDER BY' being discarded for some `DISTINCT'
queries. (Bug #275)
- Fixed that `SET SQL_BIG_SELECTS=1' works as documented (New bug in
- Fixed some serious bugs in `UPDATE ... ORDER BY'. (Bug #241)
- Fixed unlikely problem in optimising `WHERE' clause with constant
expression like in `WHERE 1 AND (a=1 AND b=1)'.
- Fixed that `SET SQL_BIG_SELECTS=1' works again.
- Introduced proper backtick quoting for db.table in `SHOW GRANTS'.
- `FULLTEXT' index stopped working after `ALTER TABLE' that converts
`TEXT' field to `CHAR'. (Bug #283)
- Fixed a security problem with `SELECT' and wildcarded select list,
when user only had partial column `SELECT' privileges on the table.
- Mark a MyISAM table as "analyzed" only when all the keys are indeed
- Only ignore world-writeable `my.cnf' files that are regular files
(and not e.g. named pipes or character devices).
- Fixed few smaller issues with `SET PASSWORD'.
- Fixed error message which contained deprecated text.
- Fixed a bug with two `NATURAL JOIN's in the query.
- `SUM()' didn't return `NULL' when there was no rows in result or
when all values was `NULL'.
- On Unix symbolic links handling was not enabled by default and
there was no way to turn this on.
- Added missing dashes to parameter `--open-files-limit' in
`mysqld_safe'. (Bug #264)
- Fixed wrong hostname for TCP/IP connections displayed in `SHOW
- Fixed a bug with `NAN' in `FORMAT(...)' function ...
- Fixed a bug with improperly cached database privileges.
- Fixed a bug in `ALTER TABLE ENABLE / DISABLE KEYS' which failed to
force a refresh of table data in the cache.
- Fixed bugs in replication of `LOAD DATA INFILE' for custom
parameters (`ENCLOSED', `TERMINATED' and so on) and temporary
tables (Bugs #183 and #222).
- Fixed a replication bug when the master is 3.23 and the slave 4.0:
the slave lost the replicated temporary tables if `FLUSH LOGS' was
issued on the master. (Bug #254)
- Fixed a bug when doing `LOAD DATA INFILE IGNORE' : when reading
the binary log, `mysqlbinlog' and the replication code read
`REPLACE' instead of `IGNORE'. This could make the slave's table
become different from the master's table. (Bug #218)
- Fixed a deadlock when `relay_log_space_limit' was set to a too
small value. (Bug #79)
- Fixed a bug in HAVING clause when an alias is used from the
- Fixed a bug in `MyISAM' when a row is inserted into a table with a
large number of `NULL' columns. Bug was caused by wrong calculation
of the record length, as the space required for storage of `NULL'
bits was not added to the total record length.
- Fixed a bug when `SELECT' *@nonexistent_variable* caused the error
in client - server protocol due to net_printf() being sent to the
- Fixed a bug in setting `SQL_BIG_SELECTS' option.
- Fixed a bug in `SHOW PROCESSLIST' which only displayed a localhost
in the `"Host"' column. This was caused by a glitch that only used
current thread info instead info from the linked list of threads.
- Removed unnecessary Mac OS X helper files from server RPM. (Bug #144)
- Allow optimisation of `multi-table-update' for InnoDB tables as
- Fixed a bug in `multi-table-updates' that caused some rows to be
updated several times.
- Fixed a bug in `mysqldump' when it was called with
`--master-data': the `CHANGE MASTER TO' commands appended to the
SQL dump had wrong coordinates. (Bug #159)
- Fixed a bug when an updating query using `USER()' was replicated
on the slave ; this caused segfault on the slave. (Bug #178).
`USER()' is still badly replicated on the slave (it is replicated
- We now additionally offer binaries for the following platforms:
* Sun Solaris 8 (64bit binary, compiled with gcc)
* Linux/AMD64 (aka "AMD Opteron")
* QNX Neutrino 6.2.1 (x86)
- Due to hardware problems, we currently cannot offer binaries for
HP-UX 10.20 and Sun Solaris 2.7 - we apologize for any inconveniences
this may cause you.
- If you experience library dependency problems whe installing the
MySQL 4.0 RPMs, try to install the newly added "MySQL-shared-compat"
package - see http://www.mysql.com/doc/en/Linux-RPM.html for more
For technical support contracts, visit https://order.mysql.com/?ref=mlgr
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Lenz Grimmer <lenz@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Production Engineer
/_/ /_/\_, /___/\___\_\___/ Hamburg, Germany
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/
-----END PGP SIGNATURE-----
|• MySQL 4.0.13 has been released||Lenz Grimmer||20 May|