Hi,
MySQL 4.1.10, 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://dev.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.
Starting from 4.1.10, we also offer the binaries for Solaris in PKG format
as well as special NDB packages in RPM format. Feedback about these new
packages is welcome.
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:
* Added `mysql_library_init()' and `mysql_library_end()' as synonyms
for the `mysql_server_init()' and `mysql_server_end()' C API
functions. `mysql_library_init()' and `mysql_library_end()' are
`#define' symbols, but the names more clearly indicate that they
should be called when beginning and ending use of a MySQL C API
library no matter whether the application uses `libmysqlclient' or
`libmysqld'. (Bug #6149)
* The server now issues a warning when `lower_case_table_names=2'
and the data directory is on a case-sensitive filesystem, just as
when `lower_case_table_names=0' on a case-insensitive filesystem.
(Bug #7887)
* The server now issues a warning to the error log when it
encounters older tables that contain character columns that might
be interpreted by newer servers to have a different column length.
(Bug #6913) See *Note Upgrading-from-4.0:: for a discussion of
this problem and what to do about it.
* InnoDB: When MySQL/InnoDB is compiled on Mac OS X 10.2 or earlier,
detect the operating system version at run time and use the
`fcntl()' file flush method on Mac OS X versions 10.3 and later.
Apple had disabled `fsync()' in Mac OS X for internal disk drives,
which caused corruption at power outages.
* InnoDB: A shared record lock (`LOCK_REC_NOT_GAP') is now taken for
a matching record in the foreign key check because inserts can be
allowed into gaps.
* InnoDB: Relaxed locking in INSERT...SELECT, single table
UPDATE...SELECT and single table DELETE...SELECT clauses when
innobase_locks_unsafe_for_binlog is used and isolation level of
the transaction is not serializable. `InnoDB' uses consistent
read in these cases for a selected table.
Bugs fixed:
* A test case was failing on Linux/IA-64 due to insufficient thread
stack size. The size was increased from 192KB to 256KB on this
platform. (Bug #8391)
* Fixed `LOAD INDEX' statement to actually load index in memory.
(Bug #8452)
* If multiple prepared statements were executed without retrieving
their results, executing one of them again would cause the client
program to crash. (Bug #8330)
* Non-numeric values inserted into a `YEAR' column were being stored
as `2000' rather than as `0000'. (Bug #6067)
* Fixed a failure of multiple-table updates to replicate properly on
slave servers when `--replicate-*-table' options had been
specified. (Bug #7011)
* `mysql_stmt_close()' C API function was not clearing an error
indicator when a previous prepare call failed, causing subsequent
invocations of error-retrieving calls to indicate spurious error
values. (Bug #7990)
* Fixed failure of `CREATE TABLE ... LIKE' Windows when the source or
destination table was located in a symlinked database directory.
(Bug #6607)
* With `lower_case_table_names' set to 1, `mysqldump' on Windows
could write the same table name in different lettercase for
different SQL statements. Fixed so that consistent lettercase is
used. (Bug #5185) `HAVING' that referred to `RAND()' or a
user-defined function in the `SELECT' part through an alias could
cause a crash or wrong value. (Bug #8216)
* If one used `CONVERT_TZ()' function in `SELECT', which in its turn
was used in `CREATE TABLE' statements, then system time zone
tables were added to list of tables joined in SELECT and thus
erroneous result was produced. (Bug #7899)
* Fixed a bug in `CONV()' function returning unsigned `BIGINT'
number (third argument is positive, and return value does not fit
in 32 bits). (Bug #7751)
* Fixed a failure of the `IN()' operator to return correct result if
all values in the list were constants and some of them were using
substring functions, for example, `LEFT()', `RIGHT()', or `MID()'.
* Fixed problem with `SHOW INDEX' reporting `Sub_part' values in
bytes rather than characters for columns with a multi-byte
character set. (Bug #7943)
* Fixed a crash in `CONVERT_TZ()' function when its second or third
argument was from a `const' table (*note `const' tables:
EXPLAIN.). (Bug #7705)
* Correct a problem with `mysql_config', which was failing to produce
proper `zlib' option for linking under some circumstances. (Bug
#6273)
* Fixed a problem with calculation of number of columns in row
comparison against a subquery. (Bug #8020)
* Fixed erroneous output resulting from `SELECT DISTINCT' combined
with a subquery and `GROUP BY'. (Bug #7946)
* Fixed server crash in comparing a nested row expression (for
example `row(1,(2,3))') with a subquery. (Bug #8022)
* Fixed server crash resulting from certain correlated subqueries
with forward references (referring to an alias defined later in
the outer query). (Bug #8025)
* Fixed server crash resulting from re-execution of prepared
statements containing subqueries. (Bug #8125)
* Removed a dependence of boolean full-text search on
`--default-character-set' option. (Bug #8159)
* Fixed a crash in a boolean full-text search in certain joins. (Bug
#8234)
* Fixed erroneous comparison where strings that began with `CHAR(31)'
were considered equal to the empty string. (Bug #8134)
* Add description of `debug' command to `mysqladmin' help output.
(Bug #8207)
* `perror.exe' was always returning "Unknown error" on Windows.
*Note `perror': perror. (Bug #7390)
* Modify `SET' statements produced by `mysqldump' to write quoted
strings using single quotes rather than double quotes. This avoids
problems if the dump file is reloaded while the `ANSI_QUOTES' SQL
mode is in effect. (Bug #8148)
* Fixed a bug where `ALTER TABLE' improperly would accept an index
on a `TIMESTAMP' column that `CREATE TABLE' would reject. (Bug
#7884)
* Fixed a bug in multiple-table `UPDATE' statements that could cause
spurious `Table '#sql_....' is full' errors if the number of rows
to update is big enough. (Bug #7788)
* Fixed a problem where `SHOW INDEX' on a `MERGE' table could crash a
debugging version of the server. (Bug #7377)
* Fixed a problem where adding an `ORDER BY' clause for an indexed
column would cause a `SELECT' to return an empty result. (Bug
#7311)
* Fixed a problem where `ALTER TABLE' on a `TEMPORARY' table with a
mixed-lettercase name could cause the table to disappear when
`lower_case_table_names' was set to 2. (Bug #7261)
* Fixed a problem with key cache statistics being reported
incorrectly by the server after receipt of a `SIGHUP' signal. (Bug
#4285)
* Fixed a problem that caused `mysql_stmt_prepare()' to be very slow
when used in client programs on Windows. (Bug #5787)
* For indexes, `SHOW CREATE TABLE' now displays the index type even
if it is the default, for storage engines that support multiple
index types. (Bug #7235)
* Fixed a bug where the use of `GROUP_CONCAT()' with `HAVING' caused
a server crash. (Bug #7769)
* Fixed a bug where comparing the result of a subquery to a
non-existent column caused a server crash on Windows. (Bug #7885)
* Fixed a bug which caused `TIMEDIFF()' function to return wrong
results if one of its arguments had non-zero microsecond part (Bug
#7586).
* Fixed a bug which caused `TIMESTAMP' columns with display width
specified to be not identical to `DATETIME' columns when server
was run in `MAXDB' mode (Bug #7418).
* Fixed a bug in `UNION' statements that resulted in the wrong
number of the examined rows reported in the slow query log.
* Fixed a bug in a combination of `-not' and `trunc*' operators of
full-text search. Using more than one truncated negative search
term, was causing empty result set.
* InnoDB: Fixed a bug introduced in 4.1.9 to the Windows version if
you used `innodb_file_per_table'. `mysqld' would stop and complain
about Windows error number 87 in a file operation. (See the Bugs
database or the 4.1.9 change notes about a workaround for that bug
in 4.1.9). (Bug #8021)
* InnoDB: Corrected the handling of trailing spaces in the `ucs2'
character set. (Bug #7350)
* InnoDB: Use native `tmpfile()' function on Netware. All InnoDB
temporary files will be created under `sys:\tmp'. Previously,
InnoDB temporary files were never deleted on Netware.
* Fixed a bug in `max_heap_table_size' handling, that resulted in
`Table is full' error when the table was still smaller than the
limit. (Bug #7791).
* Fixed a symlink vulnerability in the `mysqlaccess' script.
Reported by Javier Fernandez-Sanguino Pena and Debian Security
Audit Team (http://www.debian.org/security/audit). (CAN-2005-0004
(http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0004))
* `mysqlbinlog' forgot to add backquotes around the collation of user
variables (causing later parsing problems as `BINARY' is a reserved
word). (Bug #7793)
* Ensured that `mysqldump --single-transaction' sets its transaction
isolation level to `REPEATABLE READ' before proceeding (otherwise
if the MySQL server was configured to run with a default isolation
level lower than `REPEATABLE READ' it could give an inconsistent
dump). (Bug #7850)
* Changed `mysql' client so that including `\p' as part of a prompt
command will use the name of the shared memory connection when the
connection is using shared memory. (Bug #7922)
* Fixed a problem in the server where executing a multi-statement
query more than once with the query cache active could yield
incorrect result sets. (Bug #7966)
* Fixed that a 4.1.10 slave can connect to a master < 3.23.50
without hanging (the reason for the hang is a bug in these quite
old masters - `SELECT @@unknown_var' hangs them - which was fixed
in MySQL 3.23.50). (Bug #7965)
Bye,
Joerg
--
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com
Are you MySQL certified? www.mysql.com/certification
| Thread |
|---|
| • MySQL 4.1.10 has been released | Joerg Bruehe | 15 Feb |