MySQL Forums
Forum List  »  Announcements

MySQL 4.1.12 has been released
Posted by: Matt Wagner
Date: May 15, 2005 10:20PM

Hi,

A new version of MySQL Community Edition 4.1.12 Open Source 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. If you
cannot find this version on a particular mirror, please try again later or
choose another download site.

This is a bug fix release for the current production series.

Please refer to our bug database at http://bugs.mysql.com/ for more details
about the individual open and resolved bugs in this version.

Changes in release 4.1.12:

Functionality added or changed:
* New /*> prompt for mysql. This prompt indicates that a /* ... */
comment was begun on an earlier line and the closing */ sequence
has not yet been seen. (Bug #9186)
* Added cp1250_croatian_ci collation. (Bug #6505)
* Updated version of libedit to 2.9. (Bug #2596)
* InnoDB: When the maximum length of SHOW INNODB STATUS output would be
exceeded, truncate the beginning of the list of active transactions,
instead of truncating the end of the output. (Bug #5436)
* InnoDB: When FOREIGN_KEY_CHECKS=0, ALTER TABLE and RENAME TABLE
will ignore any type incompatibilities between referencing and
referenced columns. Thus, it will be possible to convert the
character sets of columns that participate in a foreign key. Be
sure to convert all tables before modifying any data! (Bug #9802)
* InnoDB: Setting the initial AUTO_INCREMENT value for an InnoDB
table using CREATE TABLE ... AUTO_INCREMENT = n now works, and
ALTER TABLE ... AUTO_INCREMENT = n resets the current value.
(Bug #7061)
* InnoDB: If innodb_locks_unsafe_for_binlog option set and
isolation level of the transaction is not set to serializable
then InnoDB uses a consistent read for select in clauses like
INSERT INTOSELECT and UPDATE(SELECT) that do not specify FOR
UPDATE or IN SHARE MODE. Thus no locks are set to rows read from
selected table.
* Previously in MySQL 4.1, an Illegal mix of collations error
occurred when mixing strings from same character set when one had a
non-binary collation and the other a binary collation. Now the
binary collation takes precedence, so that both strings are
treated as having the binary collation. This restores
compatibility with MySQL 4.0 behavior.
* Added cp932 Japanese character set.

Bugs fixed:
* Security fix: If mysqld was started with --user=non_existent_user, it
would run using the privileges of the account it was invoked
from, even if that was root. (Bug #9833)
* net_read_timeout and net_write_timeout were not being respected
on Windows. (Bug #9721)
* An error occurred if you specified a default value of TRUE or
FALSE for a BOOL column. (Bug #9666)
* Corrected some failures of prepared statements for SQL (PREPARE
plus EXECUTE) to return all rows for some SELECT statements. (Bug
#9096, Bug #9777)
* Remove extra slashes in --tmpdir value (for example, convert
`/var//tmp' to `/var/tmp', because they caused various errors. (Bug
#8497)
* Fixed a sort order problem with the latin2_croatian_ci collation.
All tables that have indexes that use this collation will be
treated as crashed. After upgrading, for each such table, you
must use CHECK TABLE and possibly repair the table. (Bug #6505)
* mysqld was not checking whether the PID file was successfully
created. (Bug #5843)
* With DISTINCT CONCAT(col,...) returned incorrect results when
the arguments to CONCAT() were columns with an integer data type
declared with a display width narrower than the values in the
column. (For example, if an INT(1) column contain 1111.) (Bug
#4082)
* Fixed configure to properly recognize whether NTPL is available
on Linux. (Bug #2173)
* Fixed a portability problem in compiling `mysql.cc' with VC++
on Windows. (Bug #10245)
* The --delimiter option for the nds_select program was
non-functional. (Bug #10287)
* MAX() for an INT UNSIGNED (unsigned 4-byte integer) column could
return negative values if the column contained values larger than
2^31. (Bug #9298)
* Fixed a deadlock resulting from use of FLUSH TABLES WITH READ
LOCK while an INSERT DELAYED statement is in progress. (Bug #7823)
* Multiple-table updates could produce spurious data-truncation
warnings if they used a join across columns that are indexed using
a column prefix. (Bug #9103)
* Use of a subquery that used WITH ROLLUP in the FROM clause of the
main query sometimes resulted in a Column cannot be null error.
(Bug #9681)
* RENAME TABLE for an ARCHIVE table failed if the `.arn' file was
not present. (Bug #9911)
* Fixed an optimizer problem where extraneous comparisons between
NULL values in indexed columns were being done for operators such
as = that are never true for NULL. (Bug #8877)
* SELECT ROUND(expr) produced a different result than CREATE TABLE
... SELECT ROUND(expr). (Bug #9837)
* Fixed some awk script portability problems
in cmd-line-utils/libedit/makelist.sh. (Bug #9954)
* Changed metadata for result of SHOW KEYS: Data type for Sub_part
column now is SMALLINT rather than TINYINT because key part length
can be longer than 255. (Bug #9439)
* Fixed some problems with myisampack on 64-bit systems that
resulted in segmentation violations. (Bug #9487)
* Fixed an optimizer bug in computing the union of two ranges for
the OR operator. (Bug #9348)
* Fixed an index corruption problem for MyISAM tables that resulted
from the 4.1 behavior of padding values with blanks for comparison:
Dumping a table with mysqldump, reloading it, and then re-running
the binary log against it crashed the index and necessitated a
repair. (Bug #9188)
* Fixed a segmentation fault in mysqlcheck that occurred when the
last table checked in --auto-repair mode returned an error (such as
the table being a MERGE table). (Bug #9492)
* Fixed the client/server protocol for prepared statements so
that reconnection works properly when the connection is killed
while reconnect is enabled. (Bug #8866)
* INSERT ... ON DUPLICATE KEY UPDATE incorrectly updated a
TIMESTAMP column to the current timestamp, even if the update list
included col_name = col_name for that column to prevent the
update. (Bug #7806)
* Starting mysqld with the --skip-innodb
and --default-storage-engine=innodb (or --default-table-type=innodb
caused a server crash. (Bug #9815)
* Queries containing CURRENT_USER() incorrectly were registered in
the query cache. (Bug #9796)
* A server installed as a Windows service and started with
--shared-memory could not be stopped. (Bug #9665)
* mysqldump dumped core when invoked with --tmp and
--single-transaction options and a non-existent table name. (Bug
#9175)
* Additional fix for mysql_server_init() and mysql_server_end() C
API functions so that stopping and restarting the embedded server
will not cause a crash. (Bug #7344)
* mysql.server no longer uses non-portable alias command or LSB
functions. (Bug #9852)
* Fixed a readline-related crash in mysql when the user pressed
Control-R. (Bug #9568)
* TIMEDIFF() with a negative time first argument and postive time
second argument produced incorrect results. (Bug #8068)
* Fixed a bug that caused concurrent inserts to be allowed into the
tables in the SELECT ... UNION ... part of INSERT ... SELECT ...
UNION .... This could result in the incorrect order of queries
in the binary log. (Bug #9922)
* Warning message from GROUP_CONCAT() did not always indicate
correct number of lines. (Bug #8681)
* InnoDB: ENUM and SET columns were treated incorrectly as
character strings. This bug did not manifest itself with latin1
collations, but it caused malfunction with utf8. Old tables will
continue to work. In new tables, ENUM and SET will be internally
stored as unsigned integers. (Bug #9526)
* InnoDB: Avoid test suite failures caused by a locking conflict
between two server instances at server shutdown/startup. This
conflict on advisory locks appears to be the result of a bug in
the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux. (Bug #9381)
* InnoDB: Prevent ALTER TABLE from changing the storage engine if
there are foreign key constraints on the table. (Bug #5574, Bug
#5670)
* InnoDB: Fixed a deadlock without any locking, simple select and
update. (Bug #7975) InnoDB now takes an exclusive lock when INSERT
ON DUPLICATE KEY UPDATE is checking duplicate keys.
* Creating a table did not work for a cluster with 6 nodes. (Bug
#8928) Databases with 1, 2, 4, 8, ... (2^n nodes) did not have the
problem. After a rolling upgrade, restart each node manually by
restarting it with the --initial option. Otherwise, use dump and
restore after an upgrade.
* Fix undersized array in my_print_defaults that caused crash on
Sun Solaris (and maybe strange results on other platforms). (Bug
#9136)
* Fix for auto-increment not working with INSERT..SELECT and NDB
storage engine. (Bug #9675)

Enjoy!

Matt

--
Matt Wagner, Production Engineer
MySQL AB, www.mysql.com
Northfield, MN, USA



Edited 1 time(s). Last edit at 05/15/2005 10:20PM by Matt Wagner.

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL 4.1.12 has been released
5015
May 15, 2005 10:20PM


Sorry, you can't reply to this topic. It has been closed.

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.