-----BEGIN PGP SIGNED MESSAGE-----
MySQL 4.0.18, a new version of the popular Open Source/Free Software
Database Management System, 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.
News from the ChangeLog:
Functionality added or changed:
* Fixed processing of `LOAD DATA' by `mysqlbinlog' in remote mode.
* New utility program `myisam_ftdump' was added to binary
* `mysqlhotcopy' now works on NetWare.
* `ENGINE' is now a synonym for the `TYPE' option for `CREATE TABLE'
and `ALTER TABLE'.
* `lower_case_table_names' system variable now can take a value of
`2', to store table names in mixed case on case-insensitive
* For replication of `HEAP' tables: Made the master automatically
write a `DELETE FROM' statement to its binary log when a `HEAP'
table is opened for the first time since master's startup. This is
for the case where the slave has replicated a non-empty `HEAP'
table, then the master is shut down and restarted: the table is
now empty on master; the `DELETE FROM' empties it on slave too.
Note that even with this fix, between the master's restart and the
first use of the table on master, the slave still has out-of-date
data in the table. But if you use the `init-file' option to
populate the `HEAP' table on the master at startup, it ensures
that the failing time interval is zero. (Bug #2477)
* Optimizer is now better tuned for the case where the first used
key part (of many) is a constant. (Bug #1679)
* Removed old non-working `--old-rpl-compat' server option, which
was a holdover from the very first 4.0.x versions. (Bug #2428)
* Fixed bug when -init-file crashes MySQL if contains large select
* `SHOW KEYS' now shows `NULL' in `Sub_part' column for `FULLTEXT'
* The size of the signal thread's stack was increased to enable
`mysqld' to run on Debian/ia64 with a TLS-enabled glibc.
* Now one need only `SELECT' privilege for tables that are only read
in `UPDATE' statements with many tables. (Bug #2377).
* Give proper error message if one uses `LOCK TABLES ... ; INSERT
... SELECT' and one used the same table in the `INSERT' and
`SELECT' part. (Bug #2296)
* `SELECT INTO ... DUMPFILE' now deletes the generated file on error.
* Fixed foreign key reference handling to allow references to column
names that contain spaces. (Bug #1725)
* Fixed problem with index reads on character fields with `BDB'
tables. The symptom was that data could be returned in wrong
lettercase. (Bug #2509)
* Fixed a spurious table corruption problem that could sometimes
appear on tables with indexed `TEXT' columns if these columns
happened to contain values having trailing spaces. This bug was
introduced in 4.0.17.
* Fixed a problem where some queries could hang if a condition like
`indexed_TEXT_column = expr' was present and the column contained
values having trailing spaces. This bug was introduced in 4.0.17.
* Fixed a bug that could cause incorrect results from a query that
involved range conditions on indexed `TEXT' columns that happened
to contain values having trailing spaces. This bug was introduced
in 4.0.17. (Bug #2295)
* Fixed incorrect path names in some of the manual pages. (Bug
* Fixed spurious "table corrupted" errors in parallel repair
operations. *Note `myisam_repair_threads': SHOW VARIABLES.
* Fixed a crashing bug in parallel repair operations. *Note
`myisam_repair_threads': SHOW VARIABLES.
* Fixed bug in updating `MyISAM' tables for `BLOB' values longer
than 16M. (Bug #2159)
* Fixed bug in `mysqld_safe' when running multiple instances of
MySQL. (Bug #2114)
* Fixed a bug in using `HANDLER' statement with tables not from a
current database. (Bug #2304)
* Fix for a crashing bug that occurred due to the fact that
multiple-table `UPDATE' statements did not check that there was
only one table to be updated. (Bug #2103)
* Fix for a crashing bug that occurred due to `BLOB' column type
index size being calculated incorrectly in `MIN()' and `MAX()'
optimizations. (Bug #2189)
* Fix for a bug with incorrect syntax for `LOCK TABLES' in
`mysqldump'. (Bug #2242)
* Fixed a bug in `mysqld_safe' that caused `mysqld' to generate a
warning about duplicate `user=xxx' options if this option was
specified in the `[mysqld]' or `[server]' sections of `my.cnf'.
* `INSERT DELAYED ... SELECT ...' could cause table corruption
because tables were not locked properly. This is now fixed by
ignoring `DELAYED' in this context. (Bug #1983)
* Replication: Sometimes the master gets a non-fatal error during the
execution of a statement that does not immediately succeed. (For
example, a write to a `MyISAM' table may first receive "no space
left on device," but later complete when disk space becomes
available. *Note Full disk::.) The bug was that the master
forgot to reset the error code to 0 after success, so the error
code got into its binary log, thus causing the slave to issue
false alarms such as "did not get the same error as on master."
* Removed a misleading "check permissions on master.info" from a
replication error message, because the cause of the problem could
be something other than permissions. (Bug #2121)
* Fixed a crash when the replication slave was unable to create the
first relay log. (Bug #2145)
* Replication of `LOAD DATA INFILE' for an empty file from a 3.23
master to a 4.0 slave caused the slave to print an error. (Bug
* When automatically forcing `lower_case_table_names' to 1 if the
file system was case insensitive, `mysqld' could crash. This bug
existed only in MySQL 4.0.17. (Bug #2481)
* Restored ability to specify default values for `TIMESTAMP' columns
that was erroneously disabled in previous release. (Bug #2539)
Fixed `SHOW CREATE TABLE' to reflect these values. (Bug #1885) Note
that because of the auto-update feature for the first `TIMESTAMP'
column in a table, it makes no sense to specify a default value for
the column. Any such default will be silently ignored (unless
another `TIMESTAMP' column is added before this one). Also fixed
the meaning of the `DEFAULT' keyword when it is used to specify
the value to be inserted into a `TIMESTAMP' column other than the
first. (Bug #2464)
* Fixed bug for out-of-range arguments on QNX platform that caused
`UNIX_TIMESTAMP()' to produce incorrect results or that caused
non-zero values to be inserted into `TIMESTAMP' columns. (Bug
#2523) Also, current time zone now is taken into account when
checking if datetime values satisfy both range boundaries for
`TIMESTAMP' columns. The range allowed for a `TIMESTAMP' column is
time zone-dependant and equivalent to a range of `1970-01-01
00:00:01' UTC to `2037-12-31 23:59:59' UTC.
* Multi-table `DELETE' statements were never replicated by the slave
if there were any `replicate-*-table' options. (Bug #2527)
* Changes to session counterparts of variables query_prealloc_size,
trans_alloc_block_size now have effect (Bug #1948)
* Fixed bug in `ALTER TABLE RENAME', when rename to the table with
the same name in another database silently dropped destination
table if it existed. (Bug #2628)
* We now also offer precompiled binaries for Linux/PPC, built
on Debian Linux 3.0 (gcc 2.95.4, glibc 2.2.5)
* We have just added an IBM AIX 5.2 host to our build environment -
a first binary (built with the IBM Visual Age compiler) is now
available for testing. The Max binary is currently missing due to
compile errors - these will be fixed for the next release.
Lenz Grimmer <lenz@stripped>
Senior Production Engineer
MySQL GmbH, http://www.mysql.de/
Want to swim with the dolphins? (April 14-16, 2004)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/
-----END PGP SIGNATURE-----
|• MySQL 4.0.18 has been released||Lenz Grimmer||13 Feb|