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


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to