PDA

View Full Version : mysql 4.0.21 RELEASE tonight


IWorx-Chris
09-15-2004, 04:57 PM
MySQL 4.0.21 will be released tonight on our YUM repositories. Your servers will auto-update (if it's turned on). It's already in our RHT90 EXPERIMENTAL YUM repository for those who want to update before the official release.

-----

Hi,

MySQL 4.0.21, 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 bug fix release for the current production version.

Please also note that this is the first 4.0.x version to have our FLOSS
licensing exception. This exception allows license compatibility with
important Open Source/Free Software projects. More information about our
FLOSS licensing exception can be found at:

http://dev.mysql.com/doc/mysql/en/MySQL_FLOSS_License_Exception.html

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:

* Print VERSION_COMMENT (from `./configure --comment' during
compilation) when starting the server. E.g.: `Version:
'4.0.21-debug' socket: '/tmp/mysql.sock' port: 0 Official MySQL
Binary'

* Made the MySQL server not react to signals `SIGHUP' and `SIGQUIT'
on Mac OS X 10.3. This is needed because under this OS, the MySQL
server receives lots of these signals (reported as Bug #2030).

* On Windows, the `mysqld-nt' and `mysqld-max-nt' servers now write
error messages to the Windows event log in addition to the MySQL
error log.

* Renamed the `innodb.status.<PID>' files (created in the data
directory) to `innodb_status.<PID>'. This avoids problems on
filesystems that do not allow multiple periods in filenames.

* Added `innodb_status_file' system variable to `mysqld' to control
whether output from `SHOW INNODB STATUS' is written to a
`innodb_status.<PID>' file in the data directory. By default, the
file is not created. To create it, start `mysqld' with the
`--innodb_status_file=1' option.

Bugs fixed:

* Fixed an old bug in concurrent accesses to `MERGE' tables (even
one `MERGE' table and `MyISAM' tables), that could've resulted in
a crash or hang of the server. (Bug #2408)

* Fixed a bug that caused incorrect results from `GROUP BY' queries
with expression in `HAVING' clause that refers to a `BLOB'
(`TEXT', `TINYBLOB', etc) fields. (Bug #4358)

* Fixed a bug when memory was not released when `HEAP' table is
dropped. It could only happen on Windows when a symlink file
(.sym) is used and if that symlink file contained double
backslashes (\\). (Bug #4973)

* Fixed a bug which prevented `TIMESTAMP(19)' fields from being
created. (Bug #4491)

* Fixed a bug that caused wrong results in queries that were using
index to search for `NULL' values in `BLOB' (`TINYBLOB', `TEXT',
`TINYTEXT', etc) columns of `MyISAM' tables. (Bug #4816)

* Fixed a bug in the function `ROUND()' reporting incorrect metadata
(number of digits after the decimal point). It can be seen, for
example, in `CREATE TABLE t1 SELECT ROUND(1, 34)'. (Bug #4393)

* Fixed precision loss bug in some mathematical functions such as
`SQRT()' and `LOG()'. (Bug #4356)

* Fixed a long-standing problem with `LOAD DATA' with the `LOCAL'
option. The problem occurs when an error happens during the `LOAD
DATA' operation. Previously, the connection was broken. Now the
error message is returned and connection stays open.

* Optimizer now treats `col IN (val)' the same way it does for `col
= val'.

* Fixed a problem with `net_buffer_length' when building the
`DBD::mysql' Perl module. (Bug #4206)

* `lower_case_table_names=2' (keep case for table names) was not
honored with `ALTER TABLE' and `CREATE/DROP INDEX'. (Bug #3109)

* Fixed a crash on declaration of `DECIMAL(0,...)' column. (Bug
#4046)

* Fixed a bug in `IF()' function incorrectly determining the result
type if aggregate functions were involved. (Bug #3987)

* Fixed bug in privilege checking where, under some conditions, one
was able to grant privileges on the database, he has no privileges
on. (Bug #3933)

* Fixed crash in `MATCH ... AGAINST()' on a phrase search operator
with a missing closing double quote. (Bug #3870)

* Fixed a bug with truncation of big values (> 4294967295) of 64-bit
system variables. (Bug #3754)

* If `server-id' was not set using startup options but with `SET
GLOBAL', the replication slave still complained that it was not
set. (Bug #3829)

* Fixed potential memory overrun in `mysql_real_connect()' (which
required a compromised DNS server and certain operating systems).
(Bug #4017)

* During the installation process of the server RPM on Linux,
`mysqld' was run as the `root' system user, and if you had
`--log-bin=<somewhere_out_of_var_lib_mysql>' it created binary log
files owned by `root' in this directory, which remained owned by
`root' after the installation. This is now fixed by starting
`mysqld' as the `mysql' system user instead. (Bug #4038)

* Made `DROP DATABASE' honor the value of `lower_case_table_names'.
(Bug #4066)

* The slave SQL thread refused to replicate `INSERT ... SELECT' if it
examined more than 4 billion rows. (Bug #3871)

* Fixed incorrect destruction of expression which led to crash of
server on complex `AND'/`OR' expressions if query was ignored
(either by a replication server because of `replicate-*-table'
rules, or by any MySQL server because of a syntax error). (Bug
#3969, Bug #4494)

* Fixed that `mysqlbinlog --position --read-from-remote-server' had
wrong `# at' lines. (Bug #4506)

* If `CREATE TEMPORARY TABLE t SELECT' failed while loading the
data, the temporary table was not dropped. (Bug #4551)

* Fixed that when a multiple-table `DROP TABLE' failed to drop a
table on master, the error code was not written to the binary log.
(Bug #4553)

* When the slave SQL thread was replicating a `LOAD DATA INFILE' it
didn't show it in the output of `SHOW PROCESSLIST'. (Bug #4326)

* Fixed that `CREATE TABLE ... TYPE=HEAP ... AS SELECT...' caused
replication slave to stop. (Bug #4971)

* Fixed that `disable-local-infile' option had no effect if client
read it from a configuration file using
`mysql_options(...,MYSQL_READ_DEFAULT,...)'. (Bug #5073)

* Fixed that `mysql-test-run' failed on the `rpl_trunc_binlog' test
if running test from the installed (the target of 'make install')
directory. (Bug #5050)

* Fixed an unlikely deadlock which could happen when using `KILL'.
(Bug #4810)

* Fixed a crash when one connection got `KILL'ed while it was doing
`START SLAVE'. (Bug #4827)

* Made `FLUSH TABLES WITH READ LOCK' block `COMMIT' if server is
running with binary logging; this ensures that the binary log
position is trustable when doing a full backup of tables and the
binary log. (Bug #4953)

* Fixed that the counter of an `auto_increment' column was not reset
by `TRUNCATE TABLE' is the table was a temporary one. (Bug #5033)

* Made database names to compare case-insensitively in fully
qualified column names (`database.table.column') when
`lower_case_table_names=1'. (Bug #4792)

* Fixed that `SET CHARACTER SET' was not replicated correctly. MySQL
4.1 does not have that bug. (Bug #4500)

* Fixed a bug in `ON DELETE CASCADE' and `ON UPDATE CASCADE' foreign
key constraints: long chains of cascaded operations would cause a
stack overflow and crash the server. Cascaded operations are now
limited to 15 levels. (Bug #4446)

* Fixed a possible bug in `LOCK TABLES' introduced in
MySQL/InnoDB-4.0.19: The count of tables explicitly locked by a
transaction was incremented only after the locks were granted, but
decremented when the lock structures were destroyed.