List:Packagers« Previous MessageNext Message »
From:Lenz Grimmer Date:May 20 2003 8:29pm
Subject:MySQL 4.0.13 has been released
View as plain text  
Hash: SHA1


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 and
mirror sites.

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 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).

   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)

   `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.
   (Bug #291)

 - 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

 - 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
   `--delete-master-logs' option.

 - If the slave is configured (using for example
   `replicate-wild-ignore-table=mysql.%') to exclude `mysql.user',
   `', `mysql.db', `mysql.tables_priv' and
   `mysql.columns_priv' from replication, then `GRANT' and `REVOKE'
   will not be replicated.

Bugs fixed:

 - 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
   hostname configurations.

 - `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.
   (Bug #152)

 - 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
   *select list*.

 - 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
   client twice.

 - 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
   to `""').

Additional notes:

 - 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 for more

- -- 
For technical support contracts, visit
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /      Mr. Lenz Grimmer <lenz@stripped>
 / /|_/ / // /\ \/ /_/ / /__     MySQL AB, Production Engineer
/_/  /_/\_, /___/\___\_\___/     Hamburg, Germany
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: For info see

MySQL 4.0.13 has been releasedLenz Grimmer20 May