-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
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
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 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,
though.
- 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.
(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
rows.
- 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
start::.
- 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
`MyISAM'.
- 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.host', `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
`"2000-00-00"'.
- 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
4.0)
- 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
analyzed.
- 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
PROCESSLIST'.
- 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
well.
- 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 http://www.mysql.com/doc/en/Linux-RPM.html for more
details.
Bye,
LenZ
- --
For technical support contracts, visit https://order.mysql.com/?ref=mlgr
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Lenz Grimmer <lenz@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Production Engineer
/_/ /_/\_, /___/\___\_\___/ Hamburg, Germany
<___/ www.mysql.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/
iD8DBQE+ypAVSVDhKrJykfIRAlvgAJ4xm6QwWsy+TAAGhohNOCSQq9GphgCbB+YT
wddIQ5vnvpQ55mN+ouInzcg=
=0+Ne
-----END PGP SIGNATURE-----

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.